[{"content":"Welcome to my blog! This is the first post on my newly rebuilt Hugo site.\nI\u0026rsquo;m excited to share my thoughts, projects, and insights here. This site is powered by Hugo and deployed to GitHub Pages, making it fast, static, and easy to maintain.\nMore posts coming soon!\n","permalink":"https://davevoyles.com/posts/hello-world/","summary":"\u003cp\u003eWelcome to my blog! This is the first post on my newly rebuilt Hugo site.\u003c/p\u003e\n\u003cp\u003eI\u0026rsquo;m excited to share my thoughts, projects, and insights here. This site is powered by Hugo and deployed to GitHub Pages, making it fast, static, and easy to maintain.\u003c/p\u003e\n\u003cp\u003eMore posts coming soon!\u003c/p\u003e","title":"Hello World"},{"content":"My Tech Evangelist colleagues, Joe Raio and Brian Sherwin, have create a great set of video tutorials on how to create your own website using Azure. This is part of Microsoft’s Choose to Code campaign, which guides your middle and high school students through a series of online tutorials walking them through the process of creating and publishing their own website.\nIf you are using Azure Passes, watch this video If you are using DreamSpark, start with this video Course Setup and Azure Activation Building your very first web page with HTML using Visual Studio Online! Let’s learn how to add some style to your page with CSS Make your website mobile friendly using Bootstrap Making your website interactive using JavaScript Learn how to use jQuery to send and receive data Still need Azure? Reach out to me to inquire about BizSpark\n","permalink":"https://davevoyles.com/posts/19841-2/","summary":"\u003cp\u003eMy Tech Evangelist colleagues, \u003ca href=\"http://joeraio.com/\"\u003eJoe Raio\u003c/a\u003e and \u003ca href=\"http://briansherwin.com/blog/\"\u003eBrian Sherwin\u003c/a\u003e, have create a great set of video tutorials on how to create your own website using Azure. This is part of Microsoft’s \u003cem\u003e\u003ca href=\"https://www.choosetocode.com/\"\u003eChoose to Code\u003c/a\u003e\u003c/em\u003e campaign, which guides your middle and high school students through a series of online tutorials walking them through the process of creating and publishing their own website.\u003c/p\u003e\n\u003ch2 id=\"if-you-are-using-azure-passes-watch-this-video\"\u003eIf you are using Azure Passes, watch this video\u003c/h2\u003e\n\u003ch2 id=\"if-you-are-using-dreamspark-start-with-this-video\"\u003eIf you are using DreamSpark, start with this video\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Course-Setup-and-Azure-Activation\"\u003eCourse Setup and Azure Activation\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Building-your-very-first-web-page-with-HTML-using-Visual-Studio-Online\"\u003eBuilding your very first web page with HTML using Visual Studio Online!\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Lets-learn-how-to-add-some-style-to-your-page-with-CSS\"\u003eLet’s learn how to add some style to your page with CSS\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Make-your-website-mobile-friendly-using-Bootstrap\"\u003eMake your website mobile friendly using Bootstrap\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Making-your-website-interactive-using-JavaScript\"\u003eMaking your website interactive using JavaScript\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e\u003ca href=\"https://channel9.msdn.com/Series/Choose-to-Code/Learn-how-to-use-jQuery-to-send-and-receive-data\"\u003eLearn how to use jQuery to send and receive data\u003c/a\u003e\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eStill need Azure? \u003ca href=\"mailto:Dvoyles@microsoft.com\"\u003eReach out to me\u003c/a\u003e to inquire about \u003ca href=\"http://www.davevoyles.com/bizspark-free-software-cloud-services-o/\"\u003eBizSpark\u003c/a\u003e\u003c/p\u003e","title":"Tutorials: Creating your first website with Azure"},{"content":"If you find some links that you think would be useful, feel free to share! You can always subscribe (or unsubscribe) by clicking on the MailChimp widget on the right-hand side of this page. Here’s a link to the original file.\nGaming The Flame In The Flood – Adventure game on Kickstarter Here’s Why We Need Video Games In Every Classroom “How Long To Beat” -\u0026gt; useful site that tells you how long it takes to beat a game Game Dev Reverse engineering Yoda Stories VC / Startups The unexpected and uneven evolution of the startup fundraising market What is the definition of a seed round or an A round? A Couple Of Good Books For Entrepreneurs Seed Round Pricing (Actual data warning!) The Coming Meltdown in College Education \u0026amp; Why The Economy Won’t Get Better Any Time Soon 25 Angel Investors in New York You Need to Know From board games to beer-making machines: Take a look at the Seattle startup scene Nerdy / Tech 100 Technical Things Non-Technical People Can Learn To Make Their Lives Easier HTML5 PhoneGap Day US 2014, in San Francisco Apache Cordova 4 released ","permalink":"https://davevoyles.com/posts/10th-weekly-newsletter/","summary":"\u003cp\u003eIf you find some links that you think would be useful, feel free to share! \u003cstrong\u003eYou can always subscribe (or unsubscribe) by clicking on the MailChimp widget on the right-hand side of this page. \u003ca href=\"http://us8.campaign-archive2.com/?u=50cd59991e2e6a03050947bab\u0026amp;id=c2bfee200f\"\u003eHere’s a link to the original file.\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003ch3 id=\"gaming\"\u003eGaming\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.kickstarter.com/projects/molassesflood/the-flame-in-the-flood\"\u003eThe Flame In The Flood – Adventure game on Kickstarter\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://t.co/9ojao1yIq7\"\u003eHere’s Why We Need Video Games In Every Classroom\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://t.co/TlSjjVuCDm\"\u003e“How Long To Beat” -\u0026gt; useful site that tells you how long it takes to beat a game\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"game-dev\"\u003eGame Dev\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.zachtronics.com/yoda-stories/\"\u003eReverse engineering Yoda Stories\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"vc--startups\"\u003eVC / Startups\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://tomtunguz.com/round-size-trends/\"\u003eThe unexpected and uneven evolution of the startup fundraising market\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.bothsidesofthetable.com/2014/10/07/what-is-the-definition-of-a-seed-round-or-an-a-round/\"\u003eWhat is the definition of a seed round or an A round?\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://buff.ly/1v5SlAj\"\u003eA Couple Of Good Books For Entrepreneurs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://buff.ly/1v5SvYo\"\u003eSeed Round Pricing (Actual data warning!)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://t.co/6A5AASW5Zf\"\u003eThe Coming Meltdown in College Education \u0026amp; Why The Economy Won’t Get Better Any Time Soon\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://t.co/pYBkkCFX41\"\u003e25 Angel Investors in New York You Need to Know\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.geekwire.com/2014/board-games-beer-making-machines-take-look-seattle-startup-scene/?utm_content=bufferd2627\u0026amp;utm_medium=social\u0026amp;utm_source=twitter.com\u0026amp;utm_campaign=buffer\"\u003eFrom board games to beer-making machines: Take a look at the Seattle startup scene\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"nerdy--tech\"\u003eNerdy / Tech\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://t.co/NxOnGNFBKx\"\u003e100 Technical Things Non-Technical People Can Learn To Make Their Lives Easier\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"html5\"\u003eHTML5\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://mzl.la/1sa7tu5\"\u003ePhoneGap Day US 2014, in San Francisco\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://cordova.apache.org/announcements/2014/10/16/cordova-4.html\"\u003eApache Cordova 4 released\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"My 10th weekly newsletter is out!"},{"content":"RESOURCES:\nYou can find the source for this project on my GitHub. Power point slides Video Walkthrough Get this working on Windows Phone In part 2 of my tutorial, I showed you how you how to set up the initial project with prime[31]. Now that we have it built, I’m going to walk you through the code, as well as how it all works.\nInsert Let’s test this out by running the project from Visual Studi and inserting a new object into our leaderboard. Deploy the sample, connect to the Azure service, then insert a new username and score.\nYou can see that I’ve entered “Unity Tutorial Test” as the user name and “70” as the score. Hit “Insert To Leaderboard” AFTER you connect, and you’ll be good to go.\nNot sure if it went through? Well let’s check the console.\nSuccessfully inserted!\nThat’s our callback function, which is executed on a successful insertion. If it didn’t work, we would’t see anything at all! Here’s the code for that, where we use a lambda function:\nif (GUILayout.Button(\u0026#34;Insert To Leaderboard\u0026#34;)) { Azure.insert(_leaderBoardItem, () =\u0026gt; Debug.Log(\u0026#34;inserted\u0026#34; + \u0026#34; \u0026#34; + _leaderBoardItem.username + \u0026#34; \u0026#34; + \u0026#34;to leaderboard\u0026#34;)); } Still don’t believe me that ‘s actually in our board? Well let’s go take a look at our Azure Portal and see for ourselves.\nIn your portal, go back to Azure Mobile Services, click on the name of your service (UnityWin8Test in my case), and that will load the main options screen. You can hit the “Data” tab on the top of the screen to see your leaderboards. Click on **“leaderboard”**from there, and you can see everything we’ve inserted! Boomshakala!\nQuery the leaderboard We can update, delete, and insert things into our leaderboard, but before we can update or delete anything, we need to return some leaderboard results. To pull in our scores, we need to use the Azure.Where() function. The syntax may look kind of funky, but bear with me:\n// Grab all scores in our leaderboard which are \u0026lt;= _minScoreToReturn Azure.where\u0026lt;LeaderBoard\u0026gt;(i =\u0026gt; i.score \u0026lt;= _minScoreToReturn, itemsInTheLeaderboard =\u0026gt; { Debug.Log(\u0026#34;queried all scores \u0026lt;= 100 has completed with _leadersList count: \u0026#34; + \u0026#34; \u0026#34; + itemsInTheLeaderboard.Count); _leadersList = itemsInTheLeaderboard; // Loop through each item in the leaderboard list, and draw it to the log foreach (var item in itemsInTheLeaderboard) { GUILayout.Label(\u0026#34;Name:\u0026#34; + \u0026#34; \u0026#34; + item.username + \u0026#34; \u0026#34; + \u0026#34;Score\u0026#34; + \u0026#34; \u0026#34; + item.score); } }); We use a lambda function as the first parameter, which serves as an anonymous (unnamed) function. i is as each object in our leaderboard list, and we are looking to pull out the scores, so the argument within this lambda function is i.score.\nWe take that argument, which will return a score for an item in the leaderboard, and compare it against our minimum score to return, which I defined at the top of the class. In this sample, I only want to return leaderboard items with a score of 100 or less – everything else will be ignored.\nAzure.where\u0026lt;LeaderBoard\u0026gt;(i =\u0026gt; i.score \u0026lt;= _minScoreToReturn, The next parameter in our Azure.Where() function is itemsInTheLeaderBoard . You know those items we just returned from our leaderboard? Well they all get stored in this variable, which serves as list that we can now manipulate.\nitemsInTheLeaderboard =\u0026gt; I’m not quite sure if I’ve been able to return anything at this point though, so why not draw it to our log, just to be sure? First we take the itemsInTheLeaderboard, and use the count() function (given to us by the fact that this is of type List), and verify that we have some things being returned.\nDebug.Log(\u0026#34;queried all scores \u0026lt;= 100 has completed with _leadersList count: \u0026#34; + \u0026#34; \u0026#34; + itemsInTheLeaderboard.Count); We’ve got something in there, perfect! Take our public _leadersList variable, which we declared at the top of the class, and set its value to the equal our local variable, itemsInTheLeaderBoard.\n_leadersList = itemsInTheLeaderboard; Next, we need to loop through each leaderboard item in this list and draw it to the screen, because what’s the point of having a leaderboard if folks can’t see how they compare to everyone else, right?\nUsing a foreach loop, we iterate through each item in the leaderboard ad draw it to the screen, including the username and score.\n// Loop through each item in the leaderboard list, and draw it to the log foreach (var item in itemsInTheLeaderboard) { GUILayout.Label(\u0026#34;Name:\u0026#34; + \u0026#34; \u0026#34; + item.username + \u0026#34; \u0026#34; + \u0026#34;Score\u0026#34; + \u0026#34; \u0026#34; + item.score); } I ran into an issue with this during my first go, so here it is:\nYou MUST define your username and score keys using lowercase characters. Look at the leaderboard.cs file to get an idea of what I mean. That’s because the node.js backend we are using on our Azure leaderboard is expecting lowercase keys. For example:i.username vs i.Username\nPulling in everything What if I want to return everything from my leaderboard, though? That’s simple too:\n// Get all of the items currently stored on the leaderboard Azure.where\u0026lt;LeaderBoard\u0026gt;(i =\u0026gt; i.username != null, itemsInTheLeaderboard =\u0026gt; { Debug.Log(\u0026#34;queried ALL scores, completed with _leadersList count:\u0026#34; + \u0026#34; \u0026#34; + itemsInTheLeaderboard.Count); _leadersList = itemsInTheLeaderboard; // Loop through each item in the leaderboard list, and draw it to the log foreach (var item in itemsInTheLeaderboard){ Debug.Log(\u0026#34;Item in the leaderboard:\u0026#34; + \u0026#34; \u0026#34; + item); } }); Only minor differences here, as I’m checking for a username instead of a score, and making sure that it is not null.\nWrapping things up Not so bad, right? If we put this all together, we have a simple leaderboard using Azure as our backend. This currently works for Windows 8, and prime[31] is working with the Unity team to get it working on Windows Phone in the very near future. Check back here for updates, and as always, you can find the source code for this project here.\n","permalink":"https://davevoyles.com/posts/prime31-azure-plugin-win8-wp8-unity-games-part-3/","summary":"\u003cp\u003e\u003cstrong\u003eRESOURCES:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DaveVoyles/prime31-azure\"\u003eYou can find the source for this project on my GitHub.\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.slideshare.net/DaveVoyles/using-prime31-to-connect-your-unity-game-to-azure-mobile-services\"\u003ePower point slides\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVideo Walkthrough\u003c/li\u003e\n\u003cli\u003eGet this working on Windows Phone\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"http://davevoyles.azurewebsites.net/prime31-azure-plugin-win8-wp8-unity-games-part-2/\"\u003eIn part 2 of my tutorial\u003c/a\u003e,  I showed you how you how to set up the initial project with prime[31]. Now that we have it built, I’m going to walk you through the code, as well as how it all works.\u003c/p\u003e\n\u003ch2 id=\"insert\"\u003eInsert\u003c/h2\u003e\n\u003cp\u003eLet’s test this out by running the project from Visual Studi and inserting a new object into our leaderboard. Deploy the sample, connect to the Azure service, then insert a new username and score.\u003c/p\u003e","title":"prime[31] Azure plugin for Win8 Unity games (Part 3)"},{"content":"I was at Unity’s Unite conference in Seattle this week, and I learned from their education team that Unity has far cheaper licensing for students, faculty, and schools.\nIn partnership with Studica, Unity has discounted costs. Here’s a link to the page.\nAlso, Autodesk, creators of Maya, 3DS Max, etc., also have FREE versions of their tools for students. Where was this when I was in school, learning Blender? I’m turning back the clock a few years and headed back to my SUNY Oneonta days, so that I can grab some of this stuff.\nAdobe has some goodies for you too, including the Creative Cloud (Photoshop ninjas, look here), because you don’t have to pirate Photoshop CS2 anymore! For $20 / month, you can get their cloud.\nAnything else I’m missing from these companies (or other similar ones)? Let me know. And as always, Microsoft offers BizSpark to students, startups, and night time project devs working on their own thing.\n","permalink":"https://davevoyles.com/posts/til-unity-way-cheaper-pricing-students-faculty/","summary":"\u003cp\u003eI was at Unity’s Unite conference in Seattle this week, and I learned from their education team that Unity has far cheaper licensing for students, faculty, and schools.\u003c/p\u003e\n\u003cp\u003eIn partnership with Studica, Unity has discounted costs. \u003ca href=\"http://www.studica.com/unity\"\u003eHere’s a link to the page.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.autodesk.com/education/free-software/students-university/popular\"\u003eAlso, Autodesk, creators of Maya, 3DS Max, etc., also have FREE versions of their tools for students.\u003c/a\u003e Where was this when  I was in school, learning Blender? I’m turning back the clock a few years and headed back to my SUNY Oneonta days, so that I can grab some of this stuff.\u003c/p\u003e","title":"TIL: Unity has way cheaper pricing for students / faculty"},{"content":"I’m still at Unite 2014 this week, so I thought I’d deliver a quick recap of the Unite 2014 keynote, courtesy of Jaime Rodriguez, of Microsoft.\nHere was my favorite talk of Unite as well:\n[Unite 2014 – IL2CPP: The next generation of scripting in Unity](Unite%202014 - IL2CPP: The next generation of scripting in Unity) Unite 2014 – WebGL Deployment in Unity 5 Opening stats: [David Helgason, CEO]\n600k active montly game developers .. [compared to 120k users, 3 years ago] 54% of games use middleware [compared to 10% 4 years ago] 47% mobile developers use Unity [17% in 2009] 8.7B Unity mobile app installs [not all inclusive, that is people who opt-in to analytics] PC has strength [mobile devs targeting PCs as they get better] Industry: [David Helgason, CEO]\nUnity working w/ Apple on Metal (their equivalent of iOS) Unity working on ‘smart TVs’ with Samsung Unity working w/ google on Android TV. Google giving away set-top boxes to all attendees. Showed several demos of small Studios ( 2-5 people shops )targeting many platforms (more than employees) “Native games” (e.g. Plague Inc) are being ported to Unity to get x-plat efficiencies Asset store: 7.2M downloads/year, 14K packages. They played it on productivity -asset store accelerates apps Positioning: Unity has to be more than an engine! Boil down to: Create Game + Connect it to others. Roadmap: [Lucas Meijer, Engineering Director ]\nEngineered focus on prioritized stabilization and agility ( accelerate their 4 month cycles:)\nIssueTracker.Unity3d.com has their (non-sensitive info) open). People can vote on it.\nThey have moved to near weekly patches.\nUnity 4.6 Unity 4.6.. uGUI is main feature.. Unity 4.6 goes open beta today. uGUI will be open source, MIT license. Unity 5 Unity 5 graphics features o Realtime GI, physical based shaders.\nIL2CPP [converting C# to C++ code, turns to native code] o Basic test scenario for mandlebrot generator showed faster than current mono-runtime, near native. Seems a bit niche on scenario to generalize specially on .net comparisons\nWebGL o WebGL Exporter FREE for everyone.\n64-bit support.. o Big deal for Windows, since we were running out of memory often, more often than Mac OS did.\nPhysX — updated to latest. Improved. SpeedTree importer Asset Bundles improvements (less manual work) Collaboration Improvements o Changed how they serialize prefabs. Using references now.\no Better scenes merge\nFutures, way in the future..\n“Director” is a simple, yet powerful storyboard editor (video, audio, motion/animation) ..\nReally cool; really powerful. Services: [Todd Hooper]\nUnity acquired Tsugi. o Unity cloud build: Continuous integration (Build, test, commit)\no Beta Now: http://build.cloud.unity3d.com (iOS, Android, WebPlayer)\no Free during beta, subscription later w/ free tier for Unity developers\nUnity acquired playnomics o Product still upcoming. No dates announced.\nEveryplay\n[Jussi Laakkonnen] o Social interface launching in october..\no Available today as Everyplay was\nUnity Ads [ used to be Unity cloud, now cloud is broader] Rewards based advertisement: Video support Estimates to pay $20M in 2014, it was closed beta Cross-promotion is now live, open beta today Free video advertisement on cross—promotion. ","permalink":"https://davevoyles.com/posts/unite-2014-keynote-recap/","summary":"\u003cp\u003eI’m still at Unite 2014 this week, so I thought I’d deliver a quick recap of the Unite 2014 keynote, courtesy of \u003ca href=\"http://blogs.msdn.com/b/jaimer/\"\u003eJaime Rodriguez\u003c/a\u003e, of Microsoft.\u003c/p\u003e\n\u003cp\u003eHere was my favorite talk of Unite as well:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[Unite 2014 – IL2CPP: The next generation of scripting in Unity](Unite%202014 - IL2CPP: The next generation of scripting in Unity)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.youtube.com/watch?v=OY72_tI4t1I\"\u003eUnite 2014 – WebGL Deployment in Unity 5\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"opening-stats\"\u003e\u003cstrong\u003eOpening stats:\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e[David Helgason, CEO]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e600k active montly game developers .. [compared to 120k users, 3 years ago]\u003c/li\u003e\n\u003cli\u003e54% of games use middleware  [compared to 10% 4 years ago]\u003c/li\u003e\n\u003cli\u003e47% mobile developers use Unity [17% in 2009]\u003c/li\u003e\n\u003cli\u003e8.7B Unity mobile app installs [not all inclusive, that is people who opt-in to analytics]\u003c/li\u003e\n\u003cli\u003ePC has strength [mobile devs targeting PCs as they get better]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"industry\"\u003e\u003cstrong\u003eIndustry:\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e[David Helgason, CEO]\u003c/p\u003e","title":"Unite 2014 keynote recap"},{"content":"Jennifer Marsman wrote a great post on her MSDN blog about the benefits of BizSpark and how to get started with the program. This step-by-step tutorial can help get you enrolled as well.\nPerks of the program: http://wootstudio.ca/startups/bizspark.aspx Windows 10 developer accounts (Xbox, Windows) Visual Studio Ultimate licenses Windows licenses (multiple versions) Office 365 developer account $150 / month Azure credits (for each dev on your team, up to 5 total, $750 value) Website hosting, virtual machines, databases, \u0026amp; mobile services Visual Studio Online (Formerly TFS) 90 Days of pluralsight + DigitalTutors training Free marketing support with Microsoft Who qualifies? Actively engaged in development of a software-based app, product, or service that will form a core piece of your current or intended business. (NOTE: you must be building a product! Startups providing consulting services are not eligible.) Your company is privately held, and in business for less than 5 years. Makes less than US $1 million in annual revenue Whether you are a student, startup, or an indie game developer, Microsoft views you as a welcome addition to our startup program.\nA code to get you started If you think you qualify, feel free to reach out to me and let me know what you are working on. The BizSpark team will take a look at your profile, and you’ll hear back in a few days. If you do sign up, feel free to shoot me an e-mail and see how else I can help you!\nI suggest starting with this BizSpark Enrollment tutorial, followed by BuildYourBiz.org, which offers tons of tutorials. We also have Microsoft Virtual Academy too.\nIf you have other developers on your team, you can add up to 4 additional members to your BizSpark team. Each of the members you add gets their own MSDN Subscription and their own Azure Subscription with $150/month of credit. More details here.\nYou may have to log in with your Microsoft ID first, (the top right corner of the BizSpark page), then click on this link again for it to work. Let me know if you have any other questions, and keep me in the loop with what you are working on!\nMarketing support from Microsoft We’re always looking to share the stories of developers who are building on our platform. Whether you currently have a product built with our tools, are are considering it, reach out to me and I’d love to discuss an interview. Take a look at some of my other video work on Channel 9 and interviews on the Indie Dev Podcast.\n","permalink":"https://davevoyles.com/posts/bizspark-free-software-cloud-services-o/","summary":"\u003cp\u003eJennifer Marsman wrote a great post \u003ca href=\"http://blogs.msdn.com/b/jennifer/archive/2014/06/06/bizspark-get-free-software-and-cloud-services-for-your-startup.aspx\"\u003eon her MSDN blog\u003c/a\u003e about the benefits of BizSpark and how to get started with the program. \u003ca href=\"http://bretstateham.com/bizspark-enrollment-tutorial/\"\u003eThis step-by-step tutorial\u003c/a\u003e can help get you enrolled as well.\u003c/p\u003e\n\u003ch2 id=\"perks-of-the-program\"\u003ePerks of the program:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://wootstudio.ca/startups/bizspark.aspx\"\u003ehttp://wootstudio.ca/startups/bizspark.aspx\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWindows 10 developer accounts (Xbox, Windows)\u003c/li\u003e\n\u003cli\u003eVisual Studio Ultimate licenses\u003c/li\u003e\n\u003cli\u003eWindows licenses (multiple versions)\u003c/li\u003e\n\u003cli\u003eOffice 365 developer account\u003c/li\u003e\n\u003cli\u003e$150 / month Azure credits \u003cstrong\u003e(for each dev on your team, up to 5 total, $750 value)\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eWebsite hosting, virtual machines, databases, \u0026amp; mobile services\u003c/li\u003e\n\u003cli\u003eVisual Studio Online (Formerly TFS)\u003c/li\u003e\n\u003cli\u003e90 Days of \u003ca href=\"http://pluralsight.com/training\"\u003epluralsight\u003c/a\u003e + \u003ca href=\"http://www.digitaltutors.com/11/index.php\"\u003eDigitalTutors\u003c/a\u003e training\u003c/li\u003e\n\u003cli\u003eFree marketing support with Microsoft\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"who-qualifies\"\u003eWho qualifies?\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActively \u003cstrong\u003eengaged in development of a software-based app, product, or service\u003c/strong\u003e that will form a core piece of your current or intended business.  (NOTE: you must be building a product!  Startups providing consulting services are not eligible.)\u003c/li\u003e\n\u003cli\u003eYour company is privately held, and in business for \u003cstrong\u003eless than 5 years.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMakes less than US $1 million\u003c/strong\u003e in annual revenue\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhether you are a \u003cstrong\u003estude\u003c/strong\u003ent, \u003cstrong\u003estartup\u003c/strong\u003e, or an \u003cstrong\u003eindie game developer\u003c/strong\u003e, Microsoft views you as a welcome addition to our startup program.\u003c/p\u003e","title":"BizSpark: Free software and cloud services for your startup"},{"content":"HTML5\nFree Udacity course: WebGL and Three.js Microsoft will join Khronos and will participate in the webGL working group The power of WebGL – Assasin’s Creed Pirates, using BabylonJS Gaming / Game Dev\nNight Trap Revamped Kickstarter How to get your game covered by YouTubers – Gamaasutra Xamarin’s new 2D C# crossplatform gaming framework Universal Apps in Unity – Unity Blog Marketing tips from devs who have over 3 million downloads – MSDN How to reach the press as a game dev – John Polson John Romero is making another shooter – Joystiq The js13kGames HTML5 and JavaScript Game Development Competition Has Begun Dan Adelman’s advice for indies Why I’ve said goodbye to mobile, in favor of PC – Gamasutra Tech\nAmazon starts same-day deliver in Philly Which language wins in terms of salary / demand (July 2014 Respond to reviews \u0026amp; PayPal payout options for Win Phone devs Book Recommendations\nThe Innovator’s Dilemma Incredible title about how some of the biggest companies have fallen, and why disrupters in the start-up space are a threat to all companies, regardless of size. It’s 16 years old, but timeless, and has been updated recently You can find the actual article here. If you find some links that you think would be useful, feel free to share! You can always subscribe (or unsubscribe) by clicking on the MailChimp widget on the right-hand side of this page.\n","permalink":"https://davevoyles.com/posts/third-weekly-newsletter/","summary":"\u003cp\u003eHTML5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.udacity.com/course/cs291\"\u003eFree Udacity course: WebGL and Three.js\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://twitter.com/neilt3d/status/498539402407063553?utm_source=html5weekly\u0026amp;utm_medium=email\"\u003eMicrosoft will join Khronos and will participate in the webGL working group\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.wpcentral.com/assassins-creed-pirates-brings-treasure-hunting-xbox-live-windows-phone\"\u003eThe power of WebGL – Assasin’s Creed Pirates, using BabylonJS\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGaming / Game Dev\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.kickstarter.com/projects/1018579240/night-trap-revamped\"\u003eNight Trap Revamped Kickstarter\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.gamasutra.com/view/news/222408/How_to_get_your_game_covered_by_YouTubers.php\"\u003eHow to get your game covered by YouTubers – Gamaasutra\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blog.xamarin.com/introducing-cocossharp/\"\u003eXamarin’s new 2D C# crossplatform gaming framework\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.unity3d.com/2014/08/07/introducing-universal-windows-applications-in-unity/\"\u003eUniversal Apps in Unity – Unity Blog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blogs.msdn.com/b/developerexperience/archive/2014/06/18/4-tips-from-a-moonlight-game-dev-on-reaching-3-million-downloads-through-windows-store.aspx\"\u003eMarketing tips from devs who have over 3 million downloads – MSDN\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://davevoyles.azurewebsites.net/advanced-press-tips-beginners-get-game-noticed/\"\u003eHow to reach the press as a game dev – John Polson\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.joystiq.com/2014/08/11/john-romero-i-havent-made-a-shooter-since-2000-so/\"\u003eJohn Romero is making another shooter – Joystiq\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://javascriptweekly.us1.list-manage.com/track/click?u=0618f6a79d6bb9675f313ceb2\u0026amp;id=5ee5985131\u0026amp;e=d1bf368708\"\u003eThe js13kGames HTML5 and JavaScript Game Development Competition Has Begun\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.gamesindustry.biz/articles/2014-08-06-dan-adelmans-advice-for-indies\"\u003eDan Adelman’s advice for indies\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://gamasutra.com/blogs/ThomasHenshell/20140807/222732/Why_Ive_Said_Goodbye_to_Mobile_in_Favor_of_PC.php\"\u003eWhy I’ve said goodbye to mobile, in favor of PC – Gamasutra\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTech\u003c/p\u003e","title":"My third weekly newsletter is out"},{"content":"RESOURCES: You can find the source for this project on my GitHub.\nIn part 1 of my tutorial, I showed you how you how to set up the initial project with prime[31]. Now that we have it built, I’m going to walk you through the code, as well as how it all works.\nNow that we have the project built, let’s open it up the metro folder, and launch the Prime31 Visual Studio solution.\nYour folder structure should look like this\nLaunching from Visual Studio Something that threw me in a loop initially, was the fact that the project wants to deploy to an ARM device immediately. If you hit debug “Local Machine” it will throw an error about your machine not being an ARM tablet. The solution:\nGo to Configuration Manager and change the Active Solution Platform to X86.\nYou can now run your projects and deploy them via Visual Studio. Do that, and you will be greeted with this screen:\nPerfect! We’re up and running!\n**NOTE:**On occasion, I’ll get an error, as seen in the text below. I’m not sure of what causes this, but when I switch my deployment from whatever it is currently on (for example, Debug) to Release or Master, it suddenly builds fine. I can then go back to Debug, and use that if I’d like.\nError 1 The command \u0026#34;echo UnityInstallationDir \u0026#39;C:Program Files (x86)UnityEditor\u0026#39; echo UnityProjectDir \u0026#39;C:UsersDaveVoylesDesktopAdamPrime31\u0026#39; echo Copying assemblies... copy /Y \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31Unprocessed*\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\u0026#34; copy /Y \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp.dll\u0026#34; copy /Y \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp-firstpass.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp-firstpass.dll\u0026#34; if exist \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp.pdb\u0026#34; copy /Y \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp.pdb\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp.pdb\u0026#34; if exist \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp-firstpass.pdb\u0026#34; copy /Y \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterUnprocessedAssembly-CSharp-firstpass.pdb\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp-firstpass.pdb\u0026#34; echo Running AssemblyConverter... \u0026#34;C:Program Files (x86)UnityEditorDataPlaybackEnginesMetroSupportToolsAssemblyConverter.exe\u0026#34; -platform=wsa81 \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31binStore 8.1x86MasterAssembly-CSharp-firstpass.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\\P31MetroAzure.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\\P31MetroHelpers.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\\P31RestKit.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\\UnityEngine.dll\u0026#34; \u0026#34;C:UsersDaveVoylesDesktopAdamPrime31BuildsWin81Prime31\\WinRTLegacy.dll\u0026#34; echo AssemblyConverter done. \u0026#34; exited with code 1. Prime31 MetroAzureDemoUI.cs Open the MetroAzureDemoUi.cs file, and take a look at the sample I put together.\nIt may look overwhelming at first, but I’ve commented everything in there. In terms of variables, I’ve added a _leaderboardItem, which is exactly what it sounds like — a container for the things you insert into your leaderboard. It simply holds a name, score, and unique ID for each object you insert into the board.\nFollowing that, we have the list itself, which is just a collection of _leaderBoardItem(s).\nNOTE: username and score MUST be lowercase\nThe _minScoreToReturn is used during our query below, where we will ONLY want to return leaderboard items with a score which is less than or equal to (x). In this case, I’ve set it to 200, so we will ONLY return objects which have 200 points or less.\nEndpoint and Application Key You’ll also notice:\n[SerializeField] private string _azureEndPoint = \u0026#34;\u0026lt;your leaderboard service\u0026gt;\u0026#34;; [SerializeField] private string _applicationKey = \u0026#34;\u0026lt;your application key\u0026gt;\u0026#34;; You COULD hard code your end point and app key here, but I chose to just leave this string in. Instead, I’ve added the end point and app key within the Unity Editor.\nIf you write text in the editor on the right hand side, it should propagate the empty fields inside of the gameplay screen.\nI’ve chosen to hardcode all of the buttons in the scene, to avoid having to use the heirarchy. I wanted everything to be seen within the code itself, for simplicity’s sake.\nLook at the endpoint as an address, or door that you need to reach. That’s where we are going to store our leaderboard information. The application key is exactly that; a key to the door, to gain access to the leaderboard. We have a key in place, to prevent anyone from coming in and manipulating our leaderboard.\nMoreover, you can set permissions to your Azure Mobile Service, which would only allow individuals who have authenticated with a service (Facebook, Azure Active Directory, etc.) to gain access to the leaderboard. For the sake of brevity, I haven’t done that in this tutorial.\nOnGui Beneath that, the OnGui() function is where all of our drawing occurs, for the buttons, text, and input fields.\nI did it this way because I wanted to break the GUI functions into smaller functions so that they were easier to digest, and wanted to break them into columns on the screen so that they were easier to read. Take some time to read what each of the buttons do.It may seem overwhelming at first, but I broke them down into a logical order, and they are all laid out in the order that they appear on screen. I’ve still got some sorting to do, but hey, it works for now.\nUpdate and Delete The two key functions you’ll likely use more than any other in this sample are the Insert and Delete ones. Insert allows you to pass in a new _leaderBoardItem, which will contain a username and score. Don’t worry about the ID, that gets generated for you automatically.\nNOTE: All of the functions in this sample require you to be connected to Azure before you do anything. You must hit the “Connect Azure Service” before anything can take place.\nTo update or Deletean item in the leaderboard, we need to perform a few steps:\nConnect to the Azure Mobile Service Retrieve results from the leaderboard The Update \u0026amp;Delete buttons will now appear on screen, beneath the newly returned results. Grab the latest results from the array in the leaderboard We can now edit a value for that item in the leaderboard, whether it is the score, or the username.In this example, I’m going to edit the username.\nYou can see that block of code here:\n// UPDATE the first (latest) thing in the leaderboard if (GUILayout.Button(\u0026#34;Update latest Item\u0026#34;)) { // Grab the first item in the leaderboard list var leaderToUpdate = _leadersList[0]; // Set the item\u0026#39;s username to what we entered in the username input field leaderToUpdate.username = GUILayout.TextField(_leaderBoardItem.username); // Update the item in the leaderboard Azure.update(leaderToUpdate, () =\u0026gt; Debug.Log(\u0026#34;Updated leaderboard item:\u0026#34; + \u0026#34; \u0026#34; + leaderToUpdate.username)); } We are going to set the value of theusernamefrom the latest item in the leaderboard to whatever it is that we type in the username input field.\nSo after we’ve returned our results, and the update button appears do the following:\nEnter a new name (for example, Johnny Quest) Hit the “Update Latest Item” button Now you’ll see top item in the leaderboard list says Johnny Quest. Head to your Azure portal just to verify, and you’ll see that it works!\nJohnny-Quest To Be Continued… Find the final part of the tutorial, part 3, here.\nRESOURCES: You can find the source for this project on my GitHub.\n","permalink":"https://davevoyles.com/posts/prime31-azure-plugin-win8-wp8-unity-games-part-2/","summary":"\u003cp\u003e\u003cstrong\u003eRESOURCES:\u003c/strong\u003e \u003ca href=\"https://github.com/DaveVoyles/prime31-azure\"\u003eYou can find the source for this project on my GitHub.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://davevoyles.azurewebsites.net/prime31-azure-plugin-win8-wp8-unity-games/\"\u003eIn part 1 of my tutorial,\u003c/a\u003e I showed you how you how to set up the initial project with prime[31]. Now that we have it built, I’m going to walk you through the code, as well as how it all works.\u003c/p\u003e\n\u003cp\u003eNow that we have the project built, let’s open it up the metro folder, and launch the \u003cem\u003ePrime31\u003c/em\u003e Visual Studio solution.\u003c/p\u003e","title":"prime[31] Azure plugin for Win8 Unity games (Part 2)"},{"content":"I’m an avid runner and cyclist, but I can’t stand exercising in silence. Sure, I have tons of nerdy video game music (woohoo, Yuzo Koshiro), but sometimes I also want to learn.\nI peruse YouTube for different things to learn every day, and generally listen in the background as I work. I find that tech talks from user groups are the best. (Check out this video from David Catuhe, on how to write WebGL games with Babylon.js)\nTo listen during my ride, I convert the video to an mp3 using ListenToYouTube.com. Just pass in the URL to the video, and it spits out an MP3! I then load that on my phone, and I’m good to go. Instant productivity boost.\nSo how does it work? The power of the cloud! That URL is processed by a computer somewhere (who knows, who cares)\n","permalink":"https://davevoyles.com/posts/boot-productivity-convert-youtube-videos-mp3/","summary":"\u003cp\u003eI’m an avid runner and cyclist, but I can’t stand exercising in silence. Sure, I have tons of nerdy video game music (woohoo, Yuzo Koshiro), but sometimes I also want to learn.\u003c/p\u003e\n\u003cp\u003eI peruse YouTube for different things to learn every day, and generally listen in the background as I work. I find that tech talks from user groups are the best. (\u003ca href=\"https://www.youtube.com/watch?v=8qiLVKGobRE\"\u003eCheck out this video from David Catuhe, on how to write WebGL games with Babylon.js)\u003c/a\u003e\u003c/p\u003e","title":"Boost productivity: Convert YouTube videos to MP3"},{"content":"Time: Wednesday August 13 2014 | 4:00pm to 6:00pm\nLocation: City Coho Philly Nexus http://www.citycoho.com/\nCityCoHo | Philly Nexus\n2401 Walnut St.\nSuite 102\nPhiladelphia, PA 19103\nMicrosoft’s BizSpark is an innovative global program that unites Startups with global entrepreneurial and technology resources in one community, with a common goal of supporting and accelerating the success of a new generation of high-potential Startups.\nBizSpark is uniquely designed to help Startups engaged in software development to jump-start their business, by:\nProviding them with fast and easy access to Microsoft tools and technologies, for their immediate use in design, development, testing, demonstration, and hosted application production and deployment;\nConnecting them with Network Partners and a united, global community of resources designed to support them.\nWindows 8 / Windows Phone developer accounts\nVisual Studio Ultimate 2013\nWindows 8\nOffice 365\n$150 / month Azure credits\nWebsite hosting, virtual machines, databases, and mobile services\nVisual Studio Online (Formerly TFS)\n90 Days of pluralsight + DigitalTutors training\nFree marketing support with Microsoft\nUnityVS, for debugging Unity games within Visual Studio\nIn our orientation workshop, we will show you how Microsoft BizSpark works and how to best take advantage of this free program! We’ll be hosting these workshops on Wednesday throughout the city, at City Coho an Benjamin’s Desk.\nBizSpark: Three years of free software, support, and visibility for startups.\n","permalink":"https://davevoyles.com/posts/microsoft-bizspark-orientation-workshop-city-coho-philly-nexus/","summary":"\u003cp\u003e\u003cstrong\u003eTime:\u003c/strong\u003e                          Wednesday August 13 2014 | 4:00pm to 6:00pm\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eLocation:\u003c/strong\u003e                    City Coho Philly Nexus \u003ca href=\"http://www.citycoho.com/\"\u003ehttp://www.citycoho.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCityCoHo | Philly Nexus\u003cbr\u003e\n2401 Walnut St.\u003c/p\u003e\n\u003cp\u003eSuite 102\u003c/p\u003e\n\u003cp\u003ePhiladelphia, PA 19103\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://wootstudio.ca/startups/bizspark.aspx\"\u003eMicrosoft’s BizSpark\u003c/a\u003e is an innovative global program that unites Startups with global entrepreneurial and technology resources in one community, with a common goal of supporting and accelerating the success of a new generation of high-potential Startups.\u003c/p\u003e\n\u003cp\u003eBizSpark is uniquely designed to help Startups engaged in software development to jump-start their business, by:\u003c/p\u003e","title":"Microsoft BizSpark Orientation WorkShop at City Coho Philly Nexus"},{"content":"My co-worker, and web dev ninja, Stacey Mulcahy (@bitchwhocodes) put together a great series of blog posts on how to use Spacebrew ( a web sockets solution built on Node that enables you to create interactive spaces with several clients ) with Unity3d and Arduino \u0026amp; Processing. This is the beginning / start of next week’s bit where she shows how to build your own DDR mat and hook it into Unity3d, Arduino, and Processing.\nAnd straight from the source:\nThis tutorial basically shows you how to send and receive messages to and from Unity – to and from an Arduino that has a simple circuit that will blink an LED. It goes through a) installing a spacebrew server locally, b) hooking Unity to use it with the sdk, c) the Arduino circuit and Processing code and d) connecting them all.\nBlog posts: http://thebitchwhocodes.com/2014/07/29/internet-of-things-with-unity3d-arduino-and-spacebrew-part-1/ ( Setting up a local spacebrew sever )\nhttp://thebitchwhocodes.com/2014/07/29/internet-of-things-with-unity3d-arduino-and-spacebrew-part-2/ ( Getting Unity3d to work with Spacebrew )\nhttp://thebitchwhocodes.com/2014/07/29/internet-of-things-with-unity3d-arduino-and-spacebrew-part-3/ ( Getting Arduino \u0026amp; Processing up and running – and hooked in )\nRepo: https://github.com/bitchwhocodes/Spacebrew-Unity3d-Arduino-Processing\nPowerpoint deck with steps in case that is your jam https://onedrive.live.com/redir?resid=7F39F5A167CA774F%2112047\nPDF https://onedrive.live.com/redir?resid=7F39F5A167CA774F%2112049\n","permalink":"https://davevoyles.com/posts/stacey-mulcahy-writes-internet-things-unity3d-arduino-spacebrew/","summary":"\u003cp\u003eMy co-worker, and web dev ninja, Stacey Mulcahy (\u003ca href=\"http://www.twitter.com/bitchwhocodes\"\u003e@bitchwhocodes\u003c/a\u003e) put together a great series of blog posts on how to use Spacebrew ( a web sockets solution built on Node that enables you to create interactive spaces with several clients ) with Unity3d and Arduino \u0026amp; Processing. This is the beginning / start of next week’s bit where she shows how to build your own DDR mat  and hook it into Unity3d,  Arduino, and Processing.\u003c/p\u003e","title":"Stacey Mulcahy writes: Internet of Things with Unity3d, Arduino and Spacebrew"},{"content":"it was only a matter of time before I created my own weekly newsletter. Rather than constantly spam folks on twitter with my links, I’d much prefer to just bunch them up into a weekly letter, and share them with you. Here’s a peek of what is in the first one:\nGaming Dev\nGamasutra annual game dev salary survey – Gamasutra How to use an Xbox One controller on your Windows PC Resources for HTML5 game developers – Mozilla HTML5\nJavascript best practices course – Code School A DOS Bootstrap template HTML5 Training Videos, from getting started to testing on a device – Intel Misc tech\nHow does Microsoft compare in the Fortune 500? – Fortune 13 of the most influential women in technology – Elle Who owns what? Classic gaming\nLong Lost Sharp X68000 Shmup ‘Illumination LASER’ Discovered – Retro Collect\nTitle Screens + Logos from Video Games!\n8bit/16bit NES Everything How to subscribe If you think that this is the type of thing that you’re into, feel free to subscribe on the right hand side of this page, under my MailChimp widget. Fear not; your email is never shared, and I simply needed a forum to share the links I find throughout the week. Enjoy!\n","permalink":"https://davevoyles.com/posts/join-newsletter-gaming-html5-tech/","summary":"\u003cp\u003eit was only a matter of time before I created my own weekly newsletter. Rather than constantly spam folks on twitter with my links, I’d much prefer to just bunch them up into a weekly letter, and share them with you. Here’s a peek of what is in the first one:\u003c/p\u003e\n\u003cp\u003eGaming Dev\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.gamasutra.com/salarysurvey2014.pdf?elq=e7461587712d43ceadb6d18900eff962\u0026amp;elqCampaignId=6431\"\u003eGamasutra annual game dev salary survey – Gamasutra\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.hanselman.com/blog/HowToUseAnXboxOneControllerOnYourWindowsPC.aspx\"\u003eHow to use an Xbox One controller on your Windows PC\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://t.co/Dxdy4YLeOT\"\u003eResources for HTML5 game developers – Mozilla\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHTML5\u003c/p\u003e","title":"Join my newsletter for gaming, HTML5, and tech"},{"content":"Before I joined Microsoft, I was an engineer at Comcast, on their COAM (Consumer Owned and Maintained Devices) team, where I worked on their Xbox 360, Xbox One, and SmartGlass apps. Now that I’m at Microsoft, another Fortune 50 company, I’ve kept a close eye on all of the large tech companies, to see how they weigh against one another. Here are some results from the recent Fortune magazine analysis:\nRank: MSFT 34, Comcast: 44, Apple: 5, Google: 46\nRevenue: MSFT 77 billion MS, Comcast: $64 billion, Apple: $170 billion, Google: $60 billion\nMarket Value: MSFT 340 billion, Comcast: $130 billion, Apple: $479 billion, Google: $375 billion\nEarnings/Share: MSFT 2.58, Comcast: $2.56, Apple: $39.75, Google: $38.13‏\nSource: Fortune.com\n","permalink":"https://davevoyles.com/posts/microsoft-compare-fortune-500/","summary":"\u003cp\u003eBefore I joined Microsoft, I was an engineer at Comcast, on their COAM (Consumer Owned and Maintained Devices) team, where I worked on their Xbox 360, Xbox One, and SmartGlass apps. Now that I’m at Microsoft, another Fortune 50 company, I’ve kept a close eye on all of the large tech companies, to see how they weigh against one another. Here are some results from the recent Fortune magazine analysis:\u003c/p\u003e","title":"How does Microsoft compare in the Fortune 500?"},{"content":"I recently put together a new meetup for Unity game developers in Philadelphia.\nThis will likely be held at City CoHo Philly Nexus, 2401 Walnut St., Suite 102, Philadelphia, PA (map), and on Monday evenings. The location is ideal, as Drexel University and UPenn are right down the block, and public transit is close by. You can either get off at Suburban Station (Comcast Center) or 30th Street (Amtrak) and Coho is right between the two.\nOur goal is to build a community around Unity, and help developers reach as many platforms as possible. Software is available for members, through our BizSpark program, which includes:\nWindows 8 / Windows Phone developer accounts Visual Studio Ultimate 2013 Windows 8 $150 / month Azure credits Visual Studio Online (Formerly TFS) 90 Days of pluralsight + DigitalTutors training Free marketing support with Microsoft (soon) UnityVS for debugging Unity within Visual Studio We’ll also have phones and tablets for developers to test on, and I’m also trying to coordinate some sort of giveaways and prizes from Unity.\nAny questions? Feel free to get in touch with me.\nOther local game dev meetups Philly Game Works [Malvern] Day: Thursdays, 5:45 – 8PM\nLocation: Microsoft Malvern\nPhilly Game Forge (Cipher Prime) Day: Thursdays, 6-10PM\nLocation: 239 Chestnut St, Philadelphia, PA (map)\nBoth meetups are on Thursdays, but serve very different markets. The Game Forge is located at Old City in Philly, while the Game Works serves the Valley Forge / Malvern area. Both have a large following and excellent communities, so try them both out!\n","permalink":"https://davevoyles.com/posts/philadelphia-unity-game-dev-meetup/","summary":"\u003cp\u003eI recently put together a new meetup for \u003ca href=\"http://www.meetup.com/Philly-Unity-Game-Dev-Meetup/\"\u003eUnity game developers in Philadelphia\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis will likely be held at \u003ca href=\"http://www.meetup.com/Philly-Unity-Game-Dev-Meetup/events/195670532/\"\u003eCity CoHo Philly Nexus\u003c/a\u003e, 2401 Walnut St., Suite 102, Philadelphia, PA (\u003ca href=\"http://maps.google.com/maps?f=q\u0026amp;hl=en\u0026amp;q=2401+Walnut+St.%2C+Suite+102%2C+Philadelphia%2C+PA%2C+us\"\u003emap\u003c/a\u003e), and on Monday evenings. The location is ideal, as Drexel University and UPenn are right down the block, and public transit is close by. You can either get off at Suburban Station (Comcast Center) or 30th Street (Amtrak) and Coho is right between the two.\u003c/p\u003e","title":"Philadelphia Unity Game Dev Meetup"},{"content":"A few months back, I wrote a piece on a high level overview of Microsoft’s Web App Template. I’ve recently learned that it not only works on Windows 8, but is also applicable to Win Phone 8, with Universal support coming soon.\nSo why would anyone ever wrap their site and turn it into an app? Well for one thing, it can quickly and easily net you 300+ 4+ star reviews on the store, and takes no more than an hour to create.\nA fellow Evangelist, Simon Michael, pointed me towards some other applications in the store which were made with the WAT.\nNEXT:\nWant fabulous fashion at your fingertips? Would you like to access the latest looks at the touch of a button? The Next app is the perfect way to shop with Next while on the move – and it’s free!\nRiver Island:\nYou can now get your River Island fix on the go with our Windows Phone app. Whether your want to shop on the move, view our trends or check in to your local River Island store, it’s all available at the touch of a button. With native Windows Phone functionality you can share your favourite products and access the app right from your start screen. V2. Minor fixes and improvements\nWowcher:\nWowcher selects the best deals nationally \u0026amp; in your city every day \u0026amp; sends them direct to your Windows phone! With our app at the ready you can save up to 80%* on everything from spa days \u0026amp; holidays to the latest gadgets \u0026amp; meals at your favourite restaurant.\nCapitalFM\nCapital FM’s free app. All your favourite music in one place. Listen to the radio for free with the Capital app, giving you the best Pop, Chart and Hit music from Rihanna, The Wanted, One Direction, Beyonce and more. Get to know which songs are playing and the artists singing.\nZoopla\nThe most comprehensive UK property search on the move, with new features making it easy to search, research, save and be the first to hear about new properties you’re interested in. With Zoopla’s Windows app, you can easily access the most up-to-date market information, view available properties and contact local estate agents to help you make the smarter property choice.\nLooking for your next home to buy, or flat to rent? With over 95% of the UK property market covered, we’ve got all the tools you need to start your property search.\n","permalink":"https://davevoyles.com/posts/examples-apps-published-web-app-template/","summary":"\u003cp\u003eA few months back, \u003ca href=\"http://davevoyles.azurewebsites.net/intro-web-app-template/\"\u003eI wrote a piece on a high level overview of Microsoft’s Web App Template.\u003c/a\u003e I’ve recently learned that it not only works on Windows 8, but is also applicable to Win Phone 8, with Universal support coming soon.\u003c/p\u003e\n\u003cp\u003eSo why would anyone ever wrap their site and turn it into an app? Well for one thing, it can quickly and easily net you 300+ 4+ star reviews on the store, and takes no more than an hour to create.\u003c/p\u003e","title":"Examples of apps published with the Web App Template"},{"content":"Today I made the switch from the iPhone 5 on Verizon, to a Lumia 1520 on AT\u0026amp;T. I’ve been in the Apple ecosystem for the last 3 years, so making the change was nerve-wracking, to say the least.\nCalculating the cost I have a number of AT\u0026amp;T devices through work, but I could never use them outside of locations where I had Wifi, because I was locked to Verizon. To weigh out the cost of switching over, I looked at what my early termination fee through Verizon would be, as well as what I could fetch if I sold my 64GB Verizon iPhone 5 in the wild.\nThis calculator will determine your ETF, based on when your contract started, and how much time you have left. My fee was $300.\nI’ve found that usell.com offered the best deal on my iPhone. Two days ago it was going for $320, but today it is $240, so who knows. Sure I could go to EBay, but it’s not worth the hassle for a few extra dollars. Gazelle.com didn’t offer much for my phone, either. I tell them that I want to make the offer, they send me a box in the mail to place the phone in, and tomorrow I receive a $240 over PayPal. I’m going to go the Craigslist route instead and try my luck there.\nIn the end, the net cost of my switch is $60 if I go the usell route, or I even make money if I use Craigslist.\nGoing from Verizon to AT\u0026amp;T I started in the Verizon store, by telling the woman at the front counter that I wanted to switch carriers. She gave me my account number and told me that I need to transfer my number, not disconnect, and that I needed to give the AT\u0026amp;T store my account number and they would handle the rest. The ETF from Verizon would show up in my next and final statement.\nAt AT\u0026amp;T, I told them that I wanted to keep the identical plan that I had at Verizon (unlimited texts and calls + 4GB data). 10 minutes later, the switch was done, and I was on my way out. Even better, my phone bill is $16 less than it was at Verizon! Just make sure that you switch off iMessage on your iPhone beforehand, otherwise you may not receive texts on your new phone.\nTransferring Contacts A big hang-up for many people when switching devices is the transferring of contacts and data. Fortunately, Nokia has this handled. I downloaded the Transfer My Data app, and I was all set in about 8 minutes.\nDescription from the app:\n“Transfer my Data is a quick and easy way of copying contacts from almost any phone (Symbian, Android, iOS, BlackBerry, Windows Phone and others) to your new Windows Phone using Bluetooth. Some phones may also be capable of transferring text messages and pictures, including many Nokia phones. Transfer my Data copies all your contacts into the Windows Phone People Hub, from where it’s easy to call, mail, chat or follow friends on your favorite social network. On supported phones, contacts and messages can also be transferred to and from an SD card.”\nDifferences between hardware devices Like any curious person, I had to weigh out the differences between the two devices before I could whole heartedly make the switch. Therefore, I carried around both phones in my pocket for the last week, in addition to my Verizon Mifi, so that I would always have service on my Lumia. It took some getting used to, but in the end it took a lot of the pressure from making the switch.\nThe first obvious thing you’ll notice is the size of the devices. The Lumia 1520 is massive, by all accounts. I’m not so small myself, weighing in at 6’4 220, so it fits perfect in my hands. I seldon use my phone for making calls, and instead I use it as an e-mail device and keeping up with social networks. Therefore, a larger form factor was perfect for my needs.\nOut of the box, the storage size on my Lumia is 24GB; certain a bit less than what I had on the iPhone, but the Lumia also accepts Micro SD cards. I found an excellent 64GB card for $$32 on Amazon.\nUntil lately, I haven’t been much of a picture person. I’ve just snapped tons of photos as I’ve gone along, but never really cared about quality. As I get older though, these things become more important to me. It goes without saying, the cameras on the latest batch of Nokia devices are fantastic. The dedicated button on the side of the phone makes it easy to quickly snap something as well.\nInterfacing with the computer This is where things really get different. The interface for all of the multimedia on iOS devices is handled by iTunes, which I’m sure most of you are already familiar with, and probably dislike equally as much. It’s constantly changing (and not for the better), and seldom works like it should. I just want to plug in my phone and sync the items I choose. It seldom works that way, however.\nFor the Lumia, you download a program called Windows Phone app, which allows your phone to talk to the computer and easily manage your items. Today was my first day using it, so I haven’t had much time to dive into things. So far, so good, though. I still need to understand how playlists work, but adding media to my phone was as simple as selecting folders or items, right-clicking, then selecting “sync”. Photos can also automatically be sync’d to your computer each time you plug in the phone, too.\nDifferences between the software on the devices Again, things are drastically different here. The two stores are extremely different, both in terms of interface, as well as content. Most, if not all of the top apps are at parity at this point. My most frequently used apps include:\n– Facebook, Instagram, Twitter, Outlook, OneNote, Spotify, Google Maps, Youtube, Netflix, Podcasts, Music\nI don’t really game on my device, so I wasn’t missing out on much here. I generally play slow moving adventure games, which I wish there were more of on the platform.\nWrapping things up In the end, the switch wasn’t nearly as difficult as I thought it would be. I was previously in the Android ecosystem, but that was three years ago, and I can see that things have changed quite a bit since then.\nWhat was your experience like when switching from one ecosystem to another?\n","permalink":"https://davevoyles.com/posts/switching-iphone-5-lumia-1520/","summary":"\u003cp\u003eToday I made the switch from the iPhone 5 on Verizon, to a Lumia 1520 on AT\u0026amp;T. I’ve been in the Apple ecosystem for the last 3 years, so making the change was nerve-wracking, to say the least.\u003c/p\u003e\n\u003ch2 id=\"calculating-the-cost\"\u003eCalculating the cost\u003c/h2\u003e\n\u003cp\u003eI have a number of AT\u0026amp;T devices through work, but I could never use them outside of locations where I had Wifi, because I was locked to Verizon. To weigh out the cost of switching over, I looked at what my early termination fee through Verizon would be, as well as what I could fetch if I sold my 64GB Verizon iPhone 5 in the wild.\u003c/p\u003e","title":"Switching from the iPhone 5 to the Lumia 1520"},{"content":"Today, Unity and Microsoft announced a new world-wide contest with $100K in prizes to bring Unity games to Windows and Windows Phone. The rules are pretty straight forward, and he contest site is hosted at http://unity3d.com/contest/windows, so feel free to head over and submit your games!\n","permalink":"https://davevoyles.com/posts/100k-worldwide-unity-contest/","summary":"\u003cp\u003eToday, Unity and Microsoft announced a new \u003cem\u003e\u003cstrong\u003eworld-wide contest with $100K in prizes\u003c/strong\u003e\u003c/em\u003e to bring Unity games to Windows and Windows Phone. The rules are pretty straight forward, and he contest site is hosted at \u003ca href=\"http://unity3d.com/contest/windows\"\u003ehttp://unity3d.com/contest/windows\u003c/a\u003e, so feel free to head over and submit your games!\u003c/p\u003e","title":"$100k worldwide Unity contest"},{"content":"[iframe src=”http://www.slideshare.net/slideshow/embed_code/34969684″ width=”676″ height=”600″ frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no”]\n","permalink":"https://davevoyles.com/posts/windows-8-app-development-beginners/","summary":"\u003cp\u003e[iframe src=”http://www.slideshare.net/slideshow/embed_code/34969684″ width=”676″ height=”600″ frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no”]\u003c/p\u003e","title":"Windows 8 app development for beginners"},{"content":"You can download the app from the Windows 8 Store, for free.\nIn my last post, I mentioned that I began using Microsoft’s new Web App Template, to quickly and easily create an app out of my website, while using very little code. Now that my app is finished, I wanted to walk you through the steps, so that you can do the same. In total, it only took me about 2 hours to have my app created from scratch, and in the store!\nMaking the App Yours I wanted to keep my app simple, since my website already had a ton of information and functionality to begin with. My goal here was to neatly organize content for students, in one easy-to-find solution. I started by adding links to the top of my app.\nWhen the user right clicks, the header pops down from the top of the screen, and offers nested links for the user to click through. I wanted to share the work of my fellow evangelists, so the first set of nested links was all for them.\nContent That Is Right for Your Audience Since this app is geared towards the students I work with, I wanted to share resources that they would commonly ask about or use. Therefore, under the “Students” tab, I have links to DreamSpark, BizSpark, the Imagine Fund, and any posts of mine which I had categorized under “students”. The code for that is as follows:\n{ \u0026#34;label\u0026#34;: \u0026#34;Students\u0026#34;, \u0026#34;icon\u0026#34;: \u0026#34;library\u0026#34;, \u0026#34;action\u0026#34;: \u0026#34;nested\u0026#34;, \u0026#34;children\u0026#34;: [ { \u0026#34;label\u0026#34;: \u0026#34;Dreamspark\u0026#34;, \u0026#34;icon\u0026#34;: \u0026#34;library\u0026#34;, \u0026#34;action\u0026#34;: \u0026#34;https://build.windowsstore.com/DreamSpark/#fbid=_rym5eCW63n\u0026#34; }, { \u0026#34;label\u0026#34;: \u0026#34;BizSpark\u0026#34;, \u0026#34;icon\u0026#34;: \u0026#34;library\u0026#34;, \u0026#34;action\u0026#34;: \u0026#34;http://wootstudio.ca/startups/bizspark.aspx\u0026#34; }, { \u0026#34;label\u0026#34;: \u0026#34;Imagine Fund\u0026#34;, \u0026#34;icon\u0026#34;: \u0026#34;library\u0026#34;, \u0026#34;action\u0026#34;: \u0026#34;http://www.microsoftimaginefund.com/\u0026#34; }, { \u0026#34;label\u0026#34;: \u0026#34;Posts for students\u0026#34;, \u0026#34;icon\u0026#34;: \u0026#34;library\u0026#34;, \u0026#34;action\u0026#34;: \u0026#34;http://davevoyles.azurewebsites.net/category/students/\u0026#34; } ] }, I continued to add more content, which I felt would be relevant, including a pull down for Unity, HTML5, Win Phone, and drag-and-drop tools.\nYou my notice that there is an “icon” label in the text above. You can add any icon to your link, by searching through this page, which lays out all of the icons available to you.\nPrivacy Every Windows 8 app needs to have a privacy statement, notifying the users about permissions you will be using (internet connection, location, etc.) and a way to get in touch with you. Usually, you can store the privacy statement within an application, but the WAT does not allow this. Therefore, I had to make a simple privacy statement page on another site, and just link to it.\nPassing Certification To pass the app certification tests, you’ll need to use images from your app for your splash screen, logo, and start menu. To simplify and speed up the process, I use the Windows Store Image Generator, and simply give it one image, and it quickly makes all of the images that I need to pass certification. For my logo and tile image, I just grabbed a screen shot of my website. I added all of the images except for the badge, because that seemed to have an error with the WAT.\nHere is what it looks like in the config.js file:\n\u0026#34;settings\u0026#34;: { \u0026#34;enabled\u0026#34;: true, \u0026#34;privacyUrl\u0026#34;: \u0026#34;http://phlcollective.azurewebsites.net/privacy.html\u0026#34;, \u0026#34;items\u0026#34;: [ { \u0026#34;title\u0026#34;: \u0026#34;About Dave\u0026#34;, \u0026#34;page\u0026#34;: \u0026#34;http://davevoyles.azurewebsites.net/bio/\u0026#34;, \u0026#34;loadInApp\u0026#34;: true } ] }, I’ve also added a page where users can find out more about me (it links directly to my “about me” page on my site).\nWhen I finished creating my app, I ran it through the Windows App Certification Kit, which ran a series of tests to determine if my app would work in the store. This saves you the time of having to upload your app to the store for submission, and later discovering that it was denied for something trivial like forgetting a logo image.\nBest of all, you don’t even need to change the package.appxmanifest for this change either! Just drag-and-drop your new images into your “images” folder in Visual Studio, and you’re good to go!\nOther than that, out of the box your app should work perfectly fine. The team at Microsoft has done a fantastic job of making this tool as easy as possible to work with.\nResources\nAs always, you can find the latest code updates to this project on my GitHub. I’ll add the entire project as a .zip file in here soon, too.\n","permalink":"https://davevoyles.com/posts/finishing-web-app-template/","summary":"\u003cp\u003e\u003cstrong\u003e\u003ca href=\"http://apps.microsoft.com/windows/en-us/app/dave-voyles-web-app-template/f8afe265-c9e4-4d42-b6b9-8762869380c9\"\u003eYou can download the app from the Windows 8 Store, for free.\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://davevoyles.azurewebsites.net/intro-web-app-template/\"\u003eIn my last post,\u003c/a\u003e I mentioned that I began using Microsoft’s new Web App Template, to quickly and easily create an app out of my website, while using very little code. Now that my app is finished, I wanted to walk you through the steps, so that you can do the same. In total, it only took me about 2 hours to have my app created from scratch, and in the store!\u003c/p\u003e","title":"Finishing the Web App template"},{"content":"I’ve been pushing HTML5 cross platform applications for some time now. I frequently give talks on how to use tools like Telerik’s App Builder, Adobe’s PhoneGap Cloud, and my personal favorite, Intel’s XDK. You can find my open sourced Cordova app here.\nPreviously, Cordova was a cumbersome command line tool for building cross platform HTML5 mobile apps. it was not fun, and was incredibly painful to use, due to the constantly outdated documentation. Even worse, even if you did get an HTML5 app running on Windows Phone, you didn’t have a debugger!\nFor those reasons, I’ve been using the various tools listed above. Well as of today, Cordova will be integrated into visual studio for cross platform development, which will allow developers to make use of many of the tools that Visual Studio offers, including a debugger!\nWhat do we get out of it? Using Multi-Device Hybrid Apps for Visual Studio extension, developers will gain:\nThe ability to streamline multi-platform device development and improve efficiency through the use of existing tools A great code editor Advanced debugging tools Testing capabilities for all platforms Various open source front-end frameworks such as Angular, Bootstrap, Backbone, Underscore and WinJS Integration with Microsoft services such as Azure Mobile services, Azure AD, Application Insights and Office 365 Web developers have nothing to fear, as many, if not most, of your favorite libraries will work fine. I’ve built several apps using this one flavor of Cordova or another, and I’ve loved it. The phone team has included a number of samples which take advantage of these libraries for you: Angular, Backbone and WinJS, as well as a demo app.\nGet it now The preview release of the Multi-Device Hybrid apps for Visual Studio can be downloaded here. You can also learn more about this new feature on MSDN. More info here.\n","permalink":"https://davevoyles.com/posts/apache-cordova-integrated-visual-studio-multi-device-hybrid-app-development/","summary":"\u003cp\u003eI’ve been pushing HTML5 cross platform applications for some time now. \u003ca href=\"http://davevoyles.azurewebsites.net/speaking-engagements-power-points/\"\u003eI frequently give talks\u003c/a\u003e on how to use tools like Telerik’s App Builder, Adobe’s PhoneGap Cloud, and my personal favorite, Intel’s XDK. \u003ca href=\"https://github.com/DaveVoyles/Ska-Studios-Xplatform/tree/master/Ska-Studios\"\u003eYou can find my open sourced Cordova app here.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, Cordova was a cumbersome command line tool for building cross platform HTML5 mobile apps. it was not fun, and was incredibly painful to use, due to the constantly outdated documentation. Even worse, even if you did get an HTML5 app running on Windows Phone, you didn’t have a debugger!\u003c/p\u003e","title":"Apache Cordova integrated in Visual Studio for Multi-Device Hybrid App development"},{"content":"You can find Part 2 of this tutorial, here. I’ve also compiled a list of great apps published with the WAT.\nOn Venture Capitalist Chris Dixon’s blog, he recently highlighted the decline of the mobile web.\n“People are spending more time on mobile vs desktop, and more of their mobile time using apps, not the web This is a worrisome trend for the web. Mobile is the future. What wins mobile, wins the Internet. Right now, apps are winning and the web is losing.\nMoreover, there are signs that it will only get worse. Ask any web company and they will tell you that they value app users more than web users. This is why you see so many popups and banners on mobile websites that try to get you to download apps. It is also why so many mobile websites are broken. Resources are going to app development over web development. As the mobile web UX further deteriorates, the momentum toward apps will only increase.”\nhttp://cdixon.org/\nhttp://cdixon.org/\nUPDATE: 7/18/14 – I’ve recently learned that this also works for Windows Phone 8 as well, with a new version of WAT supporting universal apps coming soon too.\nI’ve been an advocate for HTML5 applications for some time now. In the past, I’ve given talks on cross platform HTML5 development, because I realize how valuable it can be to have your applications working on every platform, and built quickly. With that in mind, I’ve recently started working with Microsoft’s Web Application Template which is a “quick easy way to bring web content to native Windows 8 apps.”\nI started tinkering with it the other night, and immediately saw how valuable it is. By changing one string, I was able to have my entire site, which you are reading now, wrapped inside of a Windows 8 application, with full support for native functionality. I could easily share all of my pages via the charms bar, to social networks like Facebook, Twitter, and Mail.\nThe beauty behind the Web App Template is that a majority of the appearance for your site can be done by tinkering with a simple configuration file.\nGetting Started The template docs include an excellent getting started page, which I recommend as your first stop when building this application.\nOnce I finished those instructions, I created a new projected called WAT-Sample. In the config folder I opened the config.json file, and immediately saw “homeURL:” at the top of the page. By switching that URL to my own, davevoyles.azurewebsites.net, I was able to have my website wrapped as a Windows 8 app. Press the debug button (F5, or the green triangle that says “Local Machine”) and you can see exactly what it looks like.\nEditing the Config.JSON file, to change which site the app points at\nWith that done, I had my app up and running, and the ability to share natively with the charms bar.\nI can easily share pages within my app, all with Win8’s charms bar\nAdding More Features The app doesn’t do much now, but if I right-click, I’m able to see a pull down menu with the links that I want to the user to be able to navigate to.\nThe header links aren’t what I want them to be yet\nThis is where I’d like to change the links that I want the user to see. Right now, they are the default links for the WAT docs, but I want each link to point toward a different topic for the student. This can be done in the config.json file again, under the section marked “navBar:”\nChanging “label:” adjusts the text for what thee users sees. (ie – home, JSON Reference, About WAT). The “icon:” obviously changes the icon, and a list of available icons is at dev.windows.com. Leave this blank to omit the icon. Finally, change the “action:” so that it points toward the URL you want the user to navigate to when the button is clicked.\nI plan on adjusting these so that they read: “Unity” “Talks” “HTML5” and “Resources” in the near future.\nPractical Uses If you are just going to wrap your website using the template, and not add any new functionality or way or organizing your content, then this tool is probably not very useful for your customer. I took a step back, considered who I work with the most, figured how this could be useful for them. In my case, it is students. I’m always fielding requests for how to find tutorials on Unity, or Unreal, or HTML5 development, so I thought “why not put together a simple app that organizes all of my web content, in one easy to find location?”\nSure, my whole site is wrapped, but the links in my header are removed, and instead are replaced with content which is only relevant to the students. DreamSpark, Unity tutorials, and entry level programming tips. Simplicity is key, when putting together content that a large number of people will ingest. The more options I give them to navigate, the less likely that they are to ever find what they are looking for.\nNow, when I give a talk at a school, I can point them towards my Windows 8 app, which aggregates all of the content on my site, relevant to exactly what they are looking for, while removing any of the fluff that they would not find useful.\nAdditional Resources Channel 9: Windows 8 apps w/ HTML5 and the Web App Template CodePlex: Web App Template Web App Template Docs ","permalink":"https://davevoyles.com/posts/intro-web-app-template/","summary":"\u003cp\u003e\u003cem\u003eYou can find Part 2 of this tutorial, \u003ca href=\"http://davevoyles.azurewebsites.net/finishing-web-app-template/\"\u003ehere.\u003c/a\u003e I’ve also compiled a list of \u003ca href=\"http://davevoyles.azurewebsites.net/examples-apps-published-web-app-template/\"\u003egreat apps published with the WAT.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eOn Venture Capitalist Chris Dixon’s blog, he recently highlighted \u003ca href=\"http://cdixon.org/2014/04/07/the-decline-of-the-mobile-web/\"\u003ethe decline of the mobile web.\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cem\u003e“People are spending more time on mobile vs desktop, and more of their mobile time using apps, not the web This is a worrisome trend for the web. Mobile is the future. What wins mobile, wins the Internet. Right now, apps are winning and the web is losing.\u003c/em\u003e\u003c/p\u003e","title":"Intro to the Web App Template"},{"content":"This post is part of 3 week series giving current and aspiring game devs the tools, resources, and advice they need to get started building for Windows. We also have a great video course on [game production basics](http://Game Production Basics) at Microsoft Virtual Academy.\nVisual Studio Community Edition visual-studio-logo You need an IDE, or Integrated Development Environment, to write code for your games. Visual Studio Community edition is FREE from Microsoft, and allows you to use a multitude of languages.\nFull-featured Integrated Development Environment for building Web, Windows Desktop and cross-platform iOS, Android, and Windows apps Ecosystem with thousands of extensions to choose from in the Visual Studio Gallery, or create your own There is even a plugin that allows you to debug Unity applications from within Visual Studio.\nMVA – What’s new in Visual Studio jump start\nMVA – Cross platform development with Visual Studio\nUnity image Unityis a game development tool that has been designed to let you focus on creating amazing 3D games. Unity supports three languages: JavaScript (or at least their own version of it), C# (Mono), and a flavor of Python called Boo. The biggest selling point for Unity is the fact that it works across virtually all modern platforms. Best of all, they’ve recently switched to completely free model, too. MVA – Developing 2D \u0026amp; 3D Games with Unity for Windows Jump Start\nMVA – Porting Unity Games to Windows Store and Windows Phone\nMonoGame image MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. MonoGame allows XNA . It currently supports Mac OS, Linux, iOS, Android, Playstation 4, and the OUYA console. Two higher profile titles include*Bastion, Skulls of the Shogun*, and Fez. At GDC 2015, Microsoft showed it off on Windows 10.\nBob Familiar recently wrote a 3 part blog series on MonoGame that takes you step by step through the process from getting your development environment setup to getting your game Windows 8 Store Ready.\nPart 1 – Overview Part 2 – Getting Started Part 3 – Getting Windows 8 Store Ready SunBurn Engine Synapse Gaming Logo Similar to MonoGame, SunBurn is an abstraction of XNA 4, which allows developers to easily target multiple platforms. A free version is available, but if you want to use the editor to do things like drag-and-drop 3D models onto a scene, then you’ll need to pay for the premium versions, which are priced well.\nAt the moment SunBurn supports Windows, Win8, Win Phone 8, Xbox 360, OSX, and Android, although more platforms are in the works.\nGameMaker Game Maker Logo Who said drag-and-drop was dead? GameMaker proves that you can still make commercially viable games, without needing to use AAA engines and knowing how the ins-and-outs of memory management in the latest programming language. Often seen as a prototyping tool, GameMaker is responsible for some big hits in recent years, and more on the way, including: Hot Line Miami, Nighogg, and Death Ray Manta.\nA free version is available, but you’ll need to pony up a few bucks for additional platforms. Keep an eye out on Steam as well, as they frequently have flash sales for the framework. I managed to nap a professional license for $100 not too long ago!\nMVA course – Creating your first 2D Game with GameMaker\nConstruct 2 construct-2-logo “I want to get started with making games, but I don’t know how. Where should I start?”\nIt can be overwhelming when you are starting off, because there are so many options available to you. I mean just look at plethora of game making tools at Pixel Prospetor, and you’ll see what I’m talking about. If you have zero programming experience, then I’d suggest starting with Construct2.\nConstruct 2 allows you to create HTML5 games without ever having to write code. Everything is handled in the IDE (Integrated Development Environment) which has a GUI (Graphical User Interface) that anyone could use. You simply drag-and-drop objects into your scene, and can make changes to the objects properties by right clicking.\nEven better, it’s free! There are premium versions available, but if you’re just starting off, then the free version offers more than enough to get you going.\nMoreover, there are tons of resources to take advantage of:\nConstruct Tutorials Construct Wiki Construct Demos I’d suggest starting here, though:\nInstall Construct2 [TUTORIAL] How to make a platformer game MVA – Construct 2 Advanced Game Development MVA – Developing Games with Construct 2 Unreal Engine 4 unrealengine4logo Fresh off of the Game Developers Conference, Epic revealed that their newest engine would be made available to everyone immediately, for free. This is a big change from the previous licensing agreement of UDK.\nA complete revamp of the UI has taken place, in addition to a new visual scripting system called “Blueprints”. Gone are the days of UnrealScript as well, as of the engine’s programming is now done in C++. Even better: the entire source code for the engine is available for free. The editor works on Mac and PC and projects can be deployed for Windows, OSX, iOS, and Android, in addition to the PS4 and Xbox One.\nUnreal Development Kit (UDK) UDK_LOGO_banner UDK makes use of its own programming language, called UnrealScript, which may throw some new developers through a loop. The language was designed for simple, high-level programming langage. The UnrealScript interpreter was programmed byTim Sweeney, who continues to develop the newest version of the engine, Unreal Engine 4.\nSimilar to Java, UnrealScript is object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes are defined in individual files named for the class they define. This author just happens to have written a book about how to program for this engine. Many of last generation’s most popular titles used this engine, including Gears of War, Mass Effect, and Bioshock.\nBabylonJS BabylonJS-logo WebGL allows your web browser to talk to the GPU on your device, whether it is a desktop machine or a phone. Writing low level code to allow for this interaction can be a bit of a barrier to some, so several engineers from Microsoft have created the free and open source framework, BabylonJS.\nYou can easily write JavaScript to create high-powered experiences inside of the browser, or wrap it with a third party tool like Cordova or the Windows 10 UWP to allow it to run as though it were a native application on your device and sell it in the app store of your choice. Take a look at the playground to get a better feel for how it all works. It also supports Oculus Rift, the gamepad API, and you can easily export 3D assets from tools like Blender to have them work in your browser!\nMVA – Introduction to WebGL 3D with HTML5 and Babylon.js\nCry Engine 3 CryEngineLogo Not to be out done by Epic at GDC, Crytek announced that their latest engine is no available to everyone for a measly $10 / month. This engine has powered some of the most beautiful games on the market, including the Crysis series, and Ryse: Son of Rome on Xbox One.\nA bevvy of new features recently announced include Physically Based Shading, Geometry Cache and Image Based Lighting. All programmig is done in C++ and Lua for scripting. However, there is currently a tool in the works for C# developers, called CryMono.\nAutodesk Maya / LT Maya Logo This application used to generate 3D assets for use in film, television, game development and architecture. There are a number of new licensing terms as of late, and a perpetual student license can be purchased for Maya. This license does not expire and the student version can be upgraded to the commercial version at a significant discount. Even better, after the student graduates, the only restriction being non commercial use\nOne large benefit in Maya’s corner however, is the fact that it works on both PCs and Macs. Due to Autodesk’s acquisition of Maya in 2005, the differences between Maya and Max have begun to converge, so it’s largely a matter of personal preference at this point. While the differences are subtle, larger studios tend to stick with one tool or the other.\nAt Unite 2013, Unity’s annual gaming conference, Maya announced that they are now releasing a lighter version of Maya for indies called MayaLT, which can be purchased using a variety of subscription models. Prices start at $50 / month, and is perfect for those looking for a short term licencing model.\nAutodesk 3DS Max 3ds max ogo 3DS Max is perhaps slightly more popular in the gaming industry, but you shouldn’t have a problem finding a job if you know Maya either. The hotkeys are very different and the viewports may throw users off when coming from one tool to the other, but they largely perform the same tasks.\nMany game engines feature workflows for easy exporting from MAX to the particular engine, so look carefully before making your decision about what to purchase, and gauge the value of the tool from there.\nAlternatively, Blender is an open source and free 3D modeling tool, but not nearly as featured as either of Autodesks offerings. Considering that most professionals use the two tools listed above, I’d suggest skipping over Blender completely.\nAudition Adobe Audition In terms of audio tools, Adobe Audition, along with Avid Pro Tools, are the defacto standard. You can now purchase it as part of Adobe’s Creative Cloud suite, which include Photoshop, Illustrator, and other image editing tools. Alternatively, Audacity is a free audio editing tool which works for those of us on a cheaper budget.\nEven if you weren’t using this for soundtracks or sound effects for games, it makes for an excellent tool for creating and editing podcasts, which are invaluable when it comes to promoting your work.\n","permalink":"https://davevoyles.com/posts/professional-game-development-tools/","summary":"\u003cp\u003eThis post is part of 3 week series giving current and aspiring game devs the tools, resources, and advice they need to get started building for Windows. We also have a great video course on [game production basics](http://Game Production Basics) at Microsoft Virtual Academy.\u003c/p\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003e\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e\u003ca href=\"https://www.visualstudio.com/\"\u003eVisual Studio Community Edition\u003c/a\u003e\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e\u003ca href=\"/images/www.davevoyles.com_wp-content_uploads_2014_03_visual-studio-logo.jpg.jpg\"\u003evisual-studio-logo\u003c/a\u003e\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eYou need an IDE, or Integrated Development Environment, to write code for your games. Visual Studio Community edition is FREE from Microsoft, and allows you to use a multitude of languages.\u003c/p\u003e","title":"Professional Game Development Tools"},{"content":"I’ve been a huge fan of shmups for as long as I can remember. If it’s good, I’ve played it (and it’s probably Japanese). I wrote my last one in JavaScript using the Impact.js framework, but this time around I wanted to do it in Unity and really test the performance of the engine.\nWhen looking for Unity shmup templates, I came across this great set of posts on the Shmup-dev website. One post includes an excellent talk on unity shmup development, with slides and source code to go along with it. It really touches on some of the basics and key points for creating a shmup, including performance considerations. Object pooling is absolutely necessary when creating a high performance game, and the author monoRAIL explains it very neatly for readers.\nHe’s also gone ahead and created a template for a 3D shmup done in JavaScript.\nI’m a fan of JavaScript myself, but I wanted to get back into C# development, so took the liberty of converting his template to C#. You can find updates for it on my GutHub, here. I’ve also cleaned it up a bit, by changing some variable names and making it more easy to read.\nJavaScript template (monoRAILS)\nC# template (mine)\n","permalink":"https://davevoyles.com/posts/unity-shmup-template-js-c/","summary":"\u003cp\u003eI’ve been a huge fan of shmups for as long as I can remember. If it’s good, I’ve played it (and it’s probably Japanese). I \u003ca href=\"http://replay.drexel.edu/research.html\"\u003ewrote my last one in JavaScript\u003c/a\u003e using the Impact.js framework, but this time around I wanted to do it in Unity and really test the performance of the engine.\u003c/p\u003e\n\u003cp\u003eWhen looking for Unity shmup templates, I came across \u003ca href=\"http://www.shmup-dev.com/?cat=8\"\u003ethis great set of posts\u003c/a\u003e on the Shmup-dev website. One post includes an excellent talk on unity shmup development, \u003ca href=\"http://www.shmup-dev.com/?p=138\"\u003ewith slides and source code\u003c/a\u003e to go along with it. It really touches on some of the basics and key points for creating a shmup, including performance considerations. Object pooling is absolutely necessary when creating a high performance game, and the author \u003cem\u003emonoRAIL\u003c/em\u003e explains it very neatly for readers.\u003c/p\u003e","title":"Unity shmup template (JS and C#)"},{"content":"Play Super Rawr-Type for FREE in the Windows 8 Store Super Rawr-Type, my 2D sidescrolling JavaScript shooter, is finally available for Windows 8. I actually finished working on it in August, but needed to change a few lines of code to have it pass certification, and completely forgot to resubmit. On Friday I made the final necessary changes, submitted, and it’s up in the store today.\nThe project is open source, and you can find my GitHub here.\nI’ve also made a number of tutorials for the game, which can be found here.\n","permalink":"https://davevoyles.com/posts/super-rawr-type-released-windows-8/","summary":"\u003ch2 id=\"play\"\u003e\u003ca href=\"http://windows.microsoft.com/en-us/windows/search#q=super+rawr-type\"\u003ePlay \u003cem\u003eSuper Rawr-Type\u003c/em\u003e for \u003cstrong\u003eFREE\u003c/strong\u003e in the Windows 8 Store\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eSuper Rawr-Type, my 2D sidescrolling JavaScript shooter, is finally available for Windows 8. I actually finished working on it in August, but needed to change a few lines of code to have it pass certification, and completely forgot to resubmit. On Friday I made the final necessary changes, submitted, and it’s up in the store today.\u003c/p\u003e\n\u003cp\u003eThe project is open source, and \u003ca href=\"https://github.com/DaveVoyles/Super-Rawr-Type-Windows8\"\u003eyou can find my GitHub here.\u003c/a\u003e\u003c/p\u003e","title":"Super Rawr-Type is released for Windows 8"},{"content":"Update 3/29/16\nWith today’s announcements at //BUILD, some of this information will be out of date. I will make changes in the very near future.\nUpdated, 9/24/15\nTLDR: Middleware engines work great and support for Xbox one is continuing to grow within new tools each day. I have a more recent post with more information following Microsoft’s presence at GDC 2015. Here is the latest.\nFor developers to focus on building for the UWP. Building UWP apps today is the best way to make sure apps will work on the Xbox when UWP is available on the Xbox. Similarly how different device families have specific APIs (GPIO, Hardware buttons, etc), Xbox will have a set of APIs that developer can use to extend experience to match the Xbox One, and those APIs will be used on top of the core UWP functionality that developers are building today.\nEverything listed below is publicly available information, so you’re not going to find anything new here; I simply organize it for you.\nWhat are the specs available to me? If you are making a dedicated application for Xbox One, you’ll have full access to everything that the Xbox offers, so the resources above do not apply to you. Those resources above are strictly for apps running on the (Universal Windows Platform) UWP , which scales to all of our platforms utilizing Windows 10.\nSign up process Xbox LIVE will be made available to developers using the UWP (Universal Windows Platform) in the near future. You need to register for the ID@Xbox program at the dev center (Xbox.com/dev) to gain access to this. There will be a new form to fill out, which will read something along the lines of:\nAre you signing up to write for Xbox One, Win 10 w/ LIVE, or both?\nThe site will have a redesign shortly. Unity will continue to work just fine, as will DirectX, so feel free to write your apps using either of those. More middleware will be announced in the future.\nEven if you already have an Xbox One development kit, this will be a separate process to apply for LIVE services on Windows 10, so you’ll need to fill out another form. We’ll have more information in the future about specifically which parts of LIVE are coming over. You can get started with Windows 10 development today.\nWhen will my retail console be turned into a development kit? Microsoft hasn’t made an announcement with a public date for this yet. In the mean time, building UWP apps today is the best way to make sure apps will work on the Xbox when UWP is available on the Xbox.\nHow much will it cost to make a game? This blog post from Happion Labs, who release Sixty Second Shooter in 2014 breaks down the cost in great detail.\nHow much will development kits cost? Do I get any right away? Two (2) free Xbox One developement kits are provided for active developers in the program. Reach out to your contact at the ID@Xbox program afterwards to request more consoles if necessary.\nWhich tools can I use to create a game? Unity Microsoft has partnered with Unity to make the process for going from Windows 8 to Xbox One as seamless as possible, as stated by this official announcement from the ID@Xbox team.\n“To us, ID@Xbox is about providing a level playing field for all developers. So, we worked with Unity and we’re pleased to announce that, when released in 2014, the Xbox One add-on for Unity will be available at no cost to all developers in the ID@Xbox program, as will special Xbox One-only Unity Pro seat licenses for Xbox One developers in the ID@Xbox program.” – Chris Charla, Director, ID@Xbox\nRather than wait for Microsoft to unlock Xbox One units and turn them into dev kits, just get started on making a Windows 8 game in Unity. **Think about it:**Your game is immediately more attractive to Microsoft the moment you use an engine that can be ported to three of their platforms: Windows 8, Windows Phone, and Xbox One.\nNeed a hand? Get in touch with me — It’s my job to help!\nHavok (Vision Engine) Havok Vision Engine is a cross-platform game engine that provides a powerful and versatile multi-platform runtime technology ideally suited for all types of games and capable of rendering extremely complex scenes at smooth frame rates. Providing a well-designed, clean and object-oriented C++ API, the technology includes a variety of features to help developers break through technical barriers, opening up a wide range of possibilities for game development.\nHavok Vision Engine is multi-threaded and optimized for Windows (DX 9, DX 11), Windows 8, Xbox360®, PlayStation®3, Nintendo Wii™, Wii U™, PlayStation Vita®, iOS and Android. It is also an ideal solution for online distribution via XBLA™, PSN™, and WiiWare™.\n– Havok.com\nUnreal Engine 4 Now, ID@Xbox developers, like all developers on Xbox One, can begin utilizing Unreal Engine 4 for their Xbox One game development. Epic Games first unveiled their new subscription model at GDC in March, enabling developer access to leading-edge tools, features, and complete C++ source code for FREE.\n– Xbox News Blog\nCryENGINE 3 Crytek recently became an officially licensed provider of middleware and tools for Xbox One, and will support the platform as well as equipping CryENGINE 3 licensees with the advanced toolset required to achieve their own games for the system.\n-Crytek.com\nGameMaker Since the announcement of our partnership with Microsoft in August, we have been working hard and we are thrilled to – announce that the Xbox One Export Module is now in Beta. This is available to all Microsoft’s licensed Xbox developers.\n– YoyoGames.com\nCocos2D-x Our first title: Candies VS Hypnodeer (video), a casual match-three puzzle game, has been released on nine platforms including: Windows Phone, Windows 8, XBOX, Symbian, Meego, Bada, Android, BB10 and Blackberry Playbook, while also being scheduled for release on iOS soon. We connect all the platforms with a single global highscore system, enabling cross-platform competition.\n– Microsoft developer blog\nHTML5 Now we’re talking my language! Alternatively, you could use HTML5 for apps. (Notice how I didn’t say anything about games in there?) From a Gamasutra article in September 2013, Microsoft’s EVP of operating systems Terry Myerson stated:\n“We want to offer [developers] the opportunity to build either HTML5 applications, or native applications that span all of those devices, enabling them to reach segments of users on those devices, users on a gaming console, and provide them with very unique opportunities to monetize their application investments,” he explained as part of today’s Microsoft Nokia Transaction Conference Call. And this includes allowing for HTML5 and native applications across all the company’s devices, including smartphones, tablets, and the upcoming Xbox One. – Mike Rose, Gamasutra\nC++ / DirectX 11 Maybe C++ is your thing. In that case, you can use the C++ / DirectX Stack to get your game on Xbox One. Chuck Walbourn and Shawn Hargreaves have been doing a phenomonal job of updating this code base each week, and you can download it right now to get started. This is basically the C++ version of XNA, so if you are familiar with XNA, you’ll find that it’s very similar.\nWhat do you know: I even put together a Power Point presentation that I share with schools, to get students on board as well. Here is a link to that. I update it from time to time as well, so check back on occasion. View the presentation here.\nMonoGame (Open source XNA) More info on this here, along with an hour long presentation during //Build 2015, illustrating this in action.\nMonoGame 3.4 also wincludes a flurry of updates, but most importantly, support for Windows 10 Universal Apps and was timed to coordinate with the Build 2015 conference going on right now. I wrote more about what’s coming to Xbox One and Windows 10 for game developers here, following GDC.\nBizSpark In the mean time, I’d encourage you to look into Microsoft’s BizSpark program. Feel ree to reach out to me if you decide to apply, and I may be able to expedite the process.\nWho qualifies? Actively engaged in development of a software-based app, product, or service that will form a core piece of your current or intended business. (NOTE: you must be building a product! Startups providing consulting services are not eligible.) Your company is privately held, and in business for less than 5 years. Makes less than US $1 million in annual revenue Whether you are a student, startup, or an indie game developer, Microsoft views you as a welcome addition to our startup program.\nIcing on the cake Think of new and innovative ways to take advantage of the tech that Windows 8 and Xbox One offer. What about creating a second screen experience? Something where you take the role of a Dungeon Master in in Dungeons and Dragons using SmartGlass, and your friends are using gamepads on the main screen to control their characters. What if the second screen device was an alternative controller for selecting media and playing it on the Win8 / Xbox device? Think outside of the box and it it will grab Microsoft’s attention.\nI’ll also be on Scott Hanselman’s Hanselminutes podcast tomorrow, where I’ll be talking more in depth about Xbox One development, so be sure to follow along there as well.\nMicrosoft continues to add support for more middleware partners over time, so check back often for updates to the list.\nAdditional Resources How to write engaging second screen experiences using SmartGlass or Windows 8 Hanselminutes podcast – I talk about Xbox One and SmartGlass development Wake Up And Code – The most comprehensive list of Xbox One related information out there ID@Xbox Facebook Group – Unofficial, but the most active conversation around the platform Simon Jackson’s ID page – Great place to find more info on getting started with Xbox One ","permalink":"https://davevoyles.com/posts/get-game-app-xbox-one/","summary":"\u003cp\u003e\u003cstrong\u003eUpdate 3/29/16\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eWith today’s announcements at //BUILD, some of this information will be out of date. I will make changes in the very near future.\u003c/em\u003e\u003cbr\u003e\nUpdated, \u003cstrong\u003e9/24/15\u003c/strong\u003e\u003cbr\u003e\n\u003cstrong\u003eTLDR\u003c/strong\u003e: \u003cem\u003eMiddleware engines work great and support for Xbox one is continuing to grow within new tools each day. I have a more recent post with more information following Microsoft’s presence at GDC 2015. \u003ca href=\"http://www.davevoyles.com/gdc-xbox-live-and-xbox-one-will-be-open-to-many-more-developers-now/\"\u003eHere is the latest.\u003c/a\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eFor developers to focus on building for the UWP. Building UWP apps today is the best way to make sure apps will work on the Xbox when UWP is available on the Xbox. Similarly how different device families have specific APIs (GPIO, Hardware buttons, etc), Xbox will have a set of APIs that developer can use to extend experience to match the Xbox One, and those APIs will be used on top of the core UWP functionality that developers are building today.\u003c/p\u003e","title":"How do I get my game on Xbox One?"},{"content":"This ties into my previous post, where I spoke about how to get your game or app on Xbox One.\nMicrosoft unveiled quiet a bit of information regarding SmartGlass during BUILD 2012, and much of it is available **via this Power Point presentation.**Ignore most of the C++ in there; I never had to touch any of that. All of my work was done via JavaScript and it worked fine.\nI also spoke about SmartGlass development on this week’s Hanselminutes podcast.\nXbox SmartGlass SDK The SDK exposes a number of APIs and native device controls via JavaScript. For example, I could tie into the mobile device’s accelerometer or gyro, which then sends the information back to the Xbox via JSON.\nApplication-level APIs •Send/receive message functions and events\n•Connect/disconnect functions\n•Client changed event\n•Title and media state events\n•Service proxy function\nDevice capabilities •Accelerometer\n•Gyroscope\n•Haptic\n•Information\n•Input\n•Touch\nWhile you won’t be able to do much without the SmartGlass SDK or an Xbox One, you can get started with Windows 8. Before I wrote my SmartGlass to Xbox One application, I first wrote it in Windows 8, and used another Windows 8 device (a tablet, in this example) in place of SmartGlass, and used WebSockets. Later, when my dev kit and SmartGlass SDK arrived, I was able to easily port it over.\nWebSockets\nFor an excellent example of how you could use WebSockets to create a fun second screen experience, Google has created a bowling game that uses your mobile device and talks to your desktop browser to deliver a bowling experience. This is what sparked my interest in web sockets and second screen experiences.\nHere is a Windows 8.1 sample on how to connect devices via WebSockets. I learned this on my own in two days, without any prior WebSockets knowledge. If I can do it, then you surely can.\nWhat it comes down to is this: You want to pass a JSON object back and forth between one device and another. The device that receives the JSON object can then parse it, and extract any information relative to it, whether it is info about a character, a button press, or pointing the second screen towards a URL so that it can play a movie. I would suggest using the JavaScript sample though, as SmartGlass is written in JavaScript as well.\nPractical Example For a practical example on how to take advantage of a second screen experience, take a look at how the devs at in8bit integrated a second screen for their upcoming Unity title, Super Truckin’.\nHow to get started Don’t have any hardware? Not a problem. If you’re in the US, I can pair you up with another Tech Evangelist in your area who can get you hardware (tablets or phones) and perhaps even some software to get you started. This site can help pair you up as well. Reach out to them!\nUse WebSockets to have your second screen device communicate with your Windows 8 machine. Nearly everything you can do with SmartGlass, you can do on Win8 with WebSockets!\n[VIDEO] Building real time web apps using HTML5 Web Sockets\n","permalink":"https://davevoyles.com/posts/write-engaging-second-screen-experiences-using-smartglass-win8/","summary":"\u003cp\u003eThis ties into my previous post, where I spoke about \u003cstrong\u003e\u003ca href=\"http://davevoyles.azurewebsites.net/get-game-app-xbox-one/\"\u003ehow to get your game or app on Xbox One.\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eMicrosoft unveiled quiet a bit of information regarding SmartGlass during BUILD 2012, and much of it is available **\u003ca href=\"http://video.ch9.ms/sessions/build/2012/2-028.pptx\"\u003evia this Power Point presentation.\u003c/a\u003e**Ignore most of the C++ in there; I never had to touch any of that. All of my work was done via JavaScript and it worked fine.\u003c/p\u003e\n\u003cp\u003eI also spoke about SmartGlass development on \u003ca href=\"http://hanselminutes.com/410/xbox-one-developer-with-dave-voyles-formerly-of-comcast\"\u003ethis week’s Hanselminutes podcast.\u003c/a\u003e\u003c/p\u003e","title":"How to write engaging second screen experiences, using SmartGlass or Win8"},{"content":"“I want to get started with making games, but I don’t know how. Where should I start?”\nIt can be overwhelming when you are starting off, because there are so many options available to you. I mean just look at plethora of game making tools at Pixel Prospetor, and you’ll see what I’m talking about. If you have zero programming experience, then I’d suggest starting with Construct2.\nConstruct 2 allows you to create HTML5 games without ever having to write code. Everything is handled in the IDE (Integrated Development Environment) which has a GUI (Graphical User Interface) that anyone could use. You simply drag-and-drop objects into your scene, and can make changes to the objects properties by right clicking.\nEven better, it’s free! There are premium versions available, but if you’re just starting off, then the free version offers more than enough to get you going.\nThe best part of all? You can export to a number of devices, including Windows Phone, Windows 8, and the browser. It’s all built in and part of Construct.\nMoreover, there are tons of resources to take advantage of:\nConstruct Tutorials Construct Wiki Construct Forums Construct Demos I’d suggest starting here, though:\nInstall Construct2 [TUTORIAL] How to make a platformer game Construct2 manual Here’s a Power Point presentation that I wrote to get you started as well:\nBuilding Games for Windows 8, Using Construct2\nStep-by-step guide for exporting from Construct2 to Windows phone\nHave any questions? Feel free to get in touch with me!\n","permalink":"https://davevoyles.com/posts/start-making-games-even-dont-know-program/","summary":"\u003cp\u003e\u003cem\u003e“I want to get started with making games, but I don’t know how. Where should I start?”\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eIt can be overwhelming when you are starting off, because there are so many options available to you. I mean just look at plethora of game making tools at  \u003ca href=\"http://www.pixelprospector.com/the-big-list-of-game-making-tools/\"\u003ePixel Prospetor\u003c/a\u003e, and you’ll see what I’m talking about.  If you have zero programming experience, then I’d suggest starting with \u003ca href=\"http://www.pixelprospector.com/the-big-list-of-game-making-tools/#construct\"\u003eConstruct2.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eConstruct 2 allows you to create HTML5 games without ever having to write code. Everything is handled in the IDE (Integrated Development Environment) which has a GUI (Graphical User Interface) that anyone could use. You simply drag-and-drop objects into your scene, and can make changes to the objects properties by right clicking.\u003cbr\u003e\nEven better, it’s free! There are premium versions available, but if you’re just starting off, then the free version offers more than enough to get you going.\u003c/p\u003e","title":"Start making games, even if you don't know how to program"},{"content":"My goal right now is to build a network for students around Philadelphia to work on projects together, ask questions, and share their work.\nFeel free to ask me questions. I’m here to help! Want to know how to get started with an HTML5 project, mobile apps, or how to get started in the games industry? Ask me!\nI met some of you this weekend at the Global Game Jam, and others at the**Tri-Co Hackathon.** If you were interested to see what was happening at either event, click on the links above.\nI have a **podcast where I interview high profile indie game developers**around the world. I’d love to do the same for students around Philadelphia. If you think you have something you’d like to talk about or show off, get in touch with me!\nI’ll be in touch with you over the next few weeks to set up more game jams, hackathons, and networking events, so that you can meet other student engineers and programmers in the Philadelphia area. If know of anyone else would be interested in this as well, have them shoot me an e-mail. Any questions or have some ideas of your own that you’d like to get out? Shoot me a message, I’d love to hear from you!\nFree copy of Visual Studio, Windows, PluralSight, and web space through Azure are all available to you through DreamSpark. If, for whatever reason, your school doesn’t offer DreamSpark, get in touch with me and I can get you signed up.\nI’ve created a Facebook group for students in the Philly area to share projects, meet others, and collaborate on ideas as well. Come in and say hello and show off what you worked on this weekend.\nThings I wish someone had told me when I was learning how to code Programming Courses / Tutorials Microsoft Virtual Academy (free) Udacity (free) Kahn Academy (free) iTunes U (free) Code Academy (free) edX (free courses from universities) LearnVisualStudio.net PluralSight (free with DreamSpark) HTML5 Cross Platform Mobile Frameworks Icenium PhoneGap (Adobe) Popular Gaming Frameworks\nUDK (UnrealScript) 3D XNA (C#) 2D / 3D Unity (C# / JavaScript) 2D / 3D Impact.JS (JavaScript) 2D New to game dev / not a programmer? Start with these below!\nConstruct2 2D GameMaker 2D HTML5 Learning Resources HTML5rocks.com Css-tricks.com Jquery4u.com Important HTML5 Libraries to Learn\njQuery Fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. jQuery UI jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library BootStrap (also works fine for mobile) –Tool for making front-end mobile dev easier and faster. jQuery Mobile user interface system designed to make responsive web sites and apps that are accessible on all smartphone, tablet and desktop devices. ","permalink":"https://davevoyles.com/posts/welcome-students-philadelphia/","summary":"\u003cp\u003eMy goal right now is to build a network for students around Philadelphia to work on projects together, ask questions, and share their work.\u003c/p\u003e\n\u003cp\u003eFeel free to ask me questions. \u003cstrong\u003eI’m here to help!\u003c/strong\u003e Want to know how to get started with an HTML5 project, mobile apps, or how to get started in the games industry? \u003cstrong\u003eAsk me!\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eI met some of you this weekend at the \u003cstrong\u003e\u003ca href=\"http://globalgamejam.org/\"\u003eGlobal Game Jam\u003c/a\u003e\u003c/strong\u003e, and others at the**\u003ca href=\"http://hackathon.haverford.edu/details.html\"\u003eTri-Co Hackathon\u003c/a\u003e.** If you were interested to see what was happening at either event, click on the links above.\u003c/p\u003e","title":"Welcome, students of Philadelphia!"},{"content":"I’ve taken a bit of a break from playing games lately, and instead have been cranking through books. A lot of this seems like “self help” or “empowerment” books, but I’ve chose to keep those silly things off of this list. Instead, I wanted to focus on books that actually offer some sort of practical and useful knowledge. Here’s a few of them, and why I think they would be worth your time:\nThe Autobiography of Malcolm X In honor of Martin Luther King Day tomorrow, I’m actually suggesting that you get to know another proactive African American leader of the time, Malcolm X.\nThis man did more by the age of 23 than most of us do in our lifetime. I suggest watching Spike Lee’s 1992 film, Malcolm X, first, as it really helped to engage me with the story and life of this man.\nWhile he was certainly more radical in his ways than Martin Luther King, it’s still an interesting character study of a man who strives for change, recognizes his flaws along the way, and attempts to make amends before his untimely demise.\nIf you’ve ever wanted to understand what it was like to come from nothing, have everything against you, and still make a name for yourself, then this is an excellent place to start.\nTrump – The Way To the Top Say what you want about Donald Trump; he still has some excellent books. This one in particular doesn’t seem to have any of his own words, but instead contains brief snippets of life and business advice from heads of many of the top organizations in the world. Even better, they are also all broken down into one line on each page, so you can quickly skim through and see what the gist of each page is.\nYou can get through this in less than two hours, and while it may not teach everyone something new, it can certainly help support notions you may previously had.\nPower Talk: Using Language To Build Authority And Influence Years ago, an ex had once said to me “You’re so fake — you keep changing the way you talk around different people.” Initially it hurt, but it always stuck with me. I later realized, I wasn’t being fake; I was adapting to the situation. You wouldn’t speak to your boss the same way that you speak to your mother, or a young child. To empathize with individuals you need to be on the same level verbally, otherwise you’ll feel a disconnect and alienate the other person.\nThis is one of the best books I’ve come across, in terms of understanding the dynamics of language and how it affects our everyday actions. Author Sarah Myers uses practical examples to help the reader understand why or how a certain approach is necessary.\nEverything you do communicates to others, where it’s physical or verbal; our language is everywhere. While the book title contains the words “authority and influence”, as though those are power words, it also covers passive ways of conveying information, so that all sides feel equal and are open to a conversation.\n7 Habits of Highly Effective People While this book gets a bit too abstract for me at times, it still does an excellent job of illustrating the traits and habits that make people effective. It’s not always about efficiency, but finding happiness with your current situation. Time and money don’t equal happiness, but being a well rounded person who is satisfied with how they are perceived by their friends, family, and peers is largely what it comes down to.\nMuch of the information here covers how to be proactive, instead of reactive, and take control of your life.\nLet me know what you think about these, and I’m open to any all recommendations as well.\n","permalink":"https://davevoyles.com/posts/some-books-at-the-top-of-my-list/","summary":"\u003cp\u003eI’ve taken a bit of a break from playing games lately, and instead have been cranking through books.  A lot of this seems like “self help” or “empowerment” books, but I’ve chose to keep those silly things off of this list. Instead, I wanted to focus on books that actually offer some sort of practical and useful knowledge.  Here’s a few of them, and why I think they would be worth your time:\u003c/p\u003e","title":"Some books at the top of my list"},{"content":"I don’t write much about gaming anymore, which is disappointing, but I instead fill my time with development, and an indie development podcast. So this is my one chance to round up my brief, if not disjointed, thoughts on gaming this year.\nHere’s a quick list of things I’ve played recently, and most of which in the last week. I had 12 days off from work after Christmas, so I cranked through as many games as I could, considering I didn’t play much earlier in the year. Hell, many of these games weren’t even released this year.\nStar Wars Rogue Squadron II: Rogue Leader– Gamecube 2001 This game holds up surprisingly well! I haven’t played it since it launched, and absolutely loved the original on the N64. It was one of the few titles that took advantage of the N64s RAM expansion pack.\nVery much an arcade style space shooter, this helped to fill the void I felt after finishing Wing Commander 3 and 4 earlier in the week. There are some silly things that the game does. For example, if you press the right bumper to speed up your ship, it actually speeds up the game itself, not just your ship. Odd.\nAnyway, if you’re looking for a space fighter, this is definitely one worth playing.\nWing Commander 3 and 4 -PC, 1994, 1996 I love this series. Take it from me; the FMV is among the best in the business, and I’ve owned 90% of the FMV games out there. Dialogue options within the game make you feel as though you have actual control as to what is going on. I even had to look through the included strategy guide to see if there were branching paths.\nBe sure to pick these up on GoG.com. They come with a ton of goodies, like walkthroughs and the game manual. It’s amazing to see how much work went into these things back in the day, and when you consider today’s digital games, you’re lucky if you get a .PDF listing the control scheme.\nI really wish there were more games like this — the FMV was far more engrossing than the uncanny valley offered by the digital stuff today.\nDark Souls – Prepare To Die Edition – PC, 2011 People rant and rave about this game, but I just can’t get behind it. I mean for one thing, it uses Games For Windows Live. You already know what kind of headache that is. On top of that, I the controls are among the slowest and most sluggish of any game I have ever played. Difficult games are great, but when most of your difficulty is introduced by your horrendous control scheme, then you’re going about it the wrong way.\nMoreover, I never know where to go or what to do. Usually I’m all about skipping over a tutorial, but this game doesn’t explain a thing. The fact that it is nigh unplayable with a mouse and keyboard doesn’t help either. I just don’t see any redeeming factor behind this game.\nCompany of Heroes 2 – PC, 2013 I absolutely adored the original, as it took a World War II setting and placed you and a small squad of commandos in the heart of it, in the style of an RTS. Even today the first one holds up incredibly well. CoH 2 improves on the original in every way, so naturally I enjoyed it.\nThe problem however, is that it constantly crashes to desktop, and crashing any other program along the way, or it offers the dreaded Blue Screen of Death.\nI looked this up shortly after purchasing the game, and sure enough, it’s a known error. There are a number of attempts to fix it, but no one is quite sure of what causes the crashing. So while this is a game I quite enjoy, it also requires a lot of patience, as you will crash pretty consistently.\nThe Legend of Zelda, Windwaker – Gamecube, 2003 I don’t know what can be said about this game, which hasn’t been said already. It is absolutely stunning to watch, controls extremely well, and the story lovingly illustrates characters you won’t forget. I bought this at launch on the GameCube, but didn’t really give it the time it deserved until this summer. I played through it with my girlfriend’s 6 year old son, and I think we both took something different from it in the end, but equally enjoyed it.\nThe Wii-U release this year resolved a number of the issues the game had, including the monotony of slowly sailing from island to island. What it didn’t fix however, is the damn ending, where you have to gather scrolls and triforce shards. This artificially inflates the length of the game greatly, but does so in the most boring way possible. For this reason alone, I suggest playing the game until this point, then dropping it completely. It was a fun memory, while it lasted.\nDead Rising 3 – Xbox One, 2013 Dead Rising 3 improved considerably over its predecessors, and is a great bit of mindless fun. I found myself avoiding most of the sidequests, but still enjoyed completing the main mission. The story is all over the place and quite bizarre. I’m not sure of what they were aiming for with this, because it’s actually uncomfortable to watch at times, with how hyper sexualized it is.\nFor a launch game, it’s a really solid title. It also makes more use of SmartGlass than any other game I’ve seen yet. As someone who was writing apps for SmartGlass, I really believe there is a future with that product. Similar to Windwaker, this game completely falls apart at the end, in that you are sent on what is essentially a large fetch quest for no reason other than to extend the length of the game. Developers, stop this trend. Quality over quantity.\nForza 5 – Xbox One, 2013 I have always been a fan of the Forza series, and this is perhaps the best iteration yet. I don’t think the music quite fits in with the rest of the game, but overall it’s a great experience. I wish that there was a way to use some of the nicer cars however, without requiring that I do so many boring races with the slow cars.\nYou can skip ahead, but of course you’ll have to pay to double your experience. Don’t you love the current state of video games? I did log on one day to find that my saves were wiped, thereby requiring me to start from the beginning again. Because the saves are handled by the cloud, I had no control over it. For this reason, I can’t recommend this game just yet\nThe Legend of Zelda, A Link Between Worlds – 3DS 2013 This is my 2013 Game of the Year, buy a mile. I don’t think there has been anything released this year which even comes close to this. Nintendo has taken the near-perfect formula that they had with a Link To The Past (my personal favorite game of all time), and managed to improve on it.\nIf you are even remotely interested in the Zelda franchise, then you’d be foolish not to play this. I bought a 3DS for this game alone, and it was worth it.\n","permalink":"https://davevoyles.com/posts/2013-year-in-gaming/","summary":"\u003cp\u003eI don’t write much about gaming anymore, which is disappointing, but I instead fill my time with development, and an \u003ca href=\"http://indiedevpodcast.wordpress.com/\"\u003eindie development podcast.\u003c/a\u003e So this is my one chance to round up my brief, if not disjointed, thoughts on gaming this year.\u003c/p\u003e\n\u003cp\u003eHere’s a quick list of things I’ve played recently, and most of which in the last week. I had 12 days off from work after Christmas, so I  cranked through as many games as I could, considering I didn’t play much earlier in the year. Hell, many of these games weren’t even released this year.\u003c/p\u003e","title":"2013 year in gaming"},{"content":"So now that November 15th has finally arrived, I can say what I’ve been working on lately; a new game with the Unreal Engine 4.\nI’m still under NDA, and I can’t post any screens just yet, but rest assured that the engine is vastly improved from what UDK was, in terms of both usability and performance. Epic has a number of videos available online, so you can see what the workflow is like.\nYou can also see what more of us are saying about it in this forum thread, at Epic’s UDK forums.\nFirst rule of Unreal Engine 4 is, you do not talk about it. So as I progress more and have some screens to show, I’ll post them on here. Programming is no longer done in UnrealScript (damn, I wrote that book on programming for the Unreal Engine 3, too…..) so it’s all C++. That’s why I’ve been trying to get up to speed on C++ as of late.\nUnreal Kismet is being evolved to a far more powerful system. Epic claims that you will be able to create a mod entirely using the updated visual scripting system. The next generation of Kismet now allows for scripting of object behaviors, as well as the previous functionality for levels. It includes a system for visual debugging, as well as a template system referred to as blueprint, for placing of objects with pre-defined behaviors in the world.\nFor those wishing to customize further, programmers can click on a property and edit the C++ code directly, with no rebuild time required.\nIn the past, gameplay code existed in UnrealScript. UnrealScript is the scripting language which forms the core of current community mods, and much of the gameplay code of all previous Unreal Engine titles.\nHowever, UnrealScript is being removed.\nIn its place, the engine will be 100% C++, and highly optimized. DLLs will still be supported on PC, but this is a significant change for almost every Unreal developer operating today, whether hobbyist or professional. This may have some very interesting ramifications in their development community.\n– http://gameindustry.about.com/od/trends/a/Unreal-Engine-4-First-Look.htm\n","permalink":"https://davevoyles.com/posts/my-next-game-will-be-made-with-unreal-engine-4/","summary":"\u003cp\u003eSo now that November 15th has finally arrived, I can say what I’ve been working on lately; a new game with the Unreal Engine 4.\u003c/p\u003e\n\u003cp\u003eI’m still under NDA, and I can’t post any screens just yet, but rest assured that the engine is vastly improved from what UDK was, in terms of both usability and performance. Epic has a number of videos available online, so you can see what the workflow is like.\u003c/p\u003e","title":"My next game will be made with Unreal Engine 4"},{"content":"Twice each month, I interview independent developers in the gaming industry. I felt that there was a niche not being served, in that I wanted the inside scoop behind many of the developers I interact without over the years.\nThis 30 minute show is a casual conversation between a developer and myself, where he or she illustrates how they got their start, what their current and previous projects are, and some of their favorite tools, languages, and frameworks are.\nOn the first episode of the Indie Dev Podcast, I interview Samantha Kalaman of Timbre Interactive. Follow along as she illustrates how she got her start by working with Unity in Denmark, before returning to her hometown of Seattle to take a job at Amazon. All the while she kept her dream project alive, and has finally brought Sentris to Kickstarter.\nListen to the show, right here\nDownload .mp3\nIf there is someone you’d like to know more about, or if you would like to be profiled, then please get in touch with me through one of the many links on the sidebar! It’s currently submitted to iTunes, and should appear in feeds in the next few days.\nAll music is courtesy of Benjamin Briggs.\nIntro / Outro: Diddy Kong Racing – Hi There! (Lobby)\nhttp://benjaminbriggs.bandcamp.com/\nhttps://www.facebook.com/bbriggsmusic\n","permalink":"https://davevoyles.com/posts/i-started-a-new-show-indie-dev-podcast/","summary":"\u003cp\u003eTwice each month, I interview independent developers in the gaming industry. I felt that there was a niche not being served, in that I wanted the inside scoop behind many of the developers I interact without over the years.\u003c/p\u003e\n\u003cp\u003eThis 30 minute show is a casual conversation between a developer and myself, where he or she illustrates how they got their start, what their current and previous projects are, and some of their favorite tools, languages, and frameworks are.\u003c/p\u003e","title":"I started a new show – Indie Dev Podcast"},{"content":"Charles Humprey (@NemoKrad) was kind enough to help me get his 2D side scrolling shooter sample working in C++ / DX 11 this morning. You can find the source code to the project here. He’s a fellow MVP who has been extremely active in the XNA community, and provided numerous samples in the past. You can find more of his work here.\nRequirements:\nDirectX SDK (June 2010) Visual Studio 2013 Windows 7 or 8 should work fine. I use Win 8.0 and he uses Windows 7, and the project works fine on both of our machines. I’m not sure if it is compatible with Visual Studio 2012, but I do not believe so. Regardless, the express version of 2013 is free.\nTo get started, download the sample from CodePlex.\nOpen the solution in Visual Studio 2013. You’ll see a modal appear about Team Foundation Server — ignore it and just click “OK”.\nRandom Chaos Library We need to change the VC++ Directories for the RandomchaosDX11Library first. Right click on the **RandomchaosDX11Library,**select Properties and the Properties Page will appear. Navigate to Configuration Properties -\u0026gt; VC++ Directories and look for the Include Directories and Library Directories.\nBoth directories should be pointed to the folder where your DirectX SDK is installed.\nOnce you have made that change for the Include Directory, be sure to add “Include” at the end. This is important!\nOnce your Include Directory is set, do the same for your Library Directory, but add “Libx86” at the end, instead of Include.\nThis confused me at first, because you can actually just type in the name of the path, instead of having using windows explorer to find the file path.\nClick “OK” on the dialog, then “Apply” and “Close” and this will save your settings. Right click on the RandomchaosDX11Lbraryproject and build it. If it doesn’t build correctly, then look at the directories and make sure they are pointed towards the correct path. SandBox This is the actual game. Right-click on the SandBox project and set it as your startup project.\nRight-click on Sandbox project and open up the properties window, just as we did for the Randomchaos library.\nChange your Include Directory, as we did before.\nAlso, point towards your newly built RandomchaosDX11 Library. My solution is on my desktop, therefore my path looks like this:\nC:Usersdvoyle200DesktopRandomchaosDX11LibraryRandomchaosDX11Library\nClick on the Library Directory and point towards your DirectX SDK, as we did before. Your directories should look similar to mine.\nThe final change we need to make is to the **Linker.**Navigate to Linker -\u0026gt; **Input.**We need to change our Additional Dependencies.\nYou’ll want to make one change here: you want to point to the RandomChaosDX11Library.lib within your Debug folder.\nC:Usersdvoyle200DesktopRandomchaosDX11LibraryDebugRandomchaosDX11Library.lib\nWith that step done, we can now build this project. In the Solution Explorer, right-click on the SandBox project, and build it.\nOne final step! You’re ready to debug your application! Hit F5 to debug, or click on “Local Windows Debugger” and you’re good to go!\nThe former XNA sample is now a working C++ / DirectX 11 sample, working on your machine.\n","permalink":"https://davevoyles.com/posts/former-2d-shooter-sample-now-working-as-a-c-directx-11-sample/","summary":"\u003cp\u003eCharles Humprey (\u003ca href=\"https://twitter.com/NemoKrad\"\u003e@NemoKrad\u003c/a\u003e) was kind enough to help me get his 2D side scrolling shooter sample working in C++ / DX 11 this morning. \u003ca href=\"https://randomchaosdx11engine.codeplex.com/SourceControl/latest\"\u003eYou can find the source code to the project here.\u003c/a\u003e He’s a fellow MVP who has been extremely active in the XNA community, and provided numerous samples in the past. You can find \u003ca href=\"http://randomchaosdx11adventures.blogspot.co.uk/\"\u003emore of his work here.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eRequirements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/en-gb/download/details.aspx?id=6812\"\u003eDirectX SDK (June 2010)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.microsoft.com/visualstudio/eng/products/2013-editions\"\u003eVisual Studio 2013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWindows 7 or 8 should work fine. I use Win 8.0 and he uses Windows 7, and the project works fine on both of our machines. I’m not sure if it is compatible with Visual Studio 2012, but I do not believe so. Regardless, the express version of 2013 is free.\u003c/p\u003e","title":"Former 2d shooter sample, now working as a C++ / DirectX 11 sample"},{"content":"Click here to play Super Rawr-Type Redux Source Code: https://github.com/DaveVoyles/Super-Rawr-Type-Redux\nI’ve spent the last 3 months working on the follow up to my previous game, Super Rawr-Type. It was a simple side scrolling 2D shmup, which I wrote in JavaScript and also ported to Windows 8. One bug prevents me from getting it into the store, and I’m not able to replicate it, so who knows if it will ever be released there.\nSuper Rawr-Type Redux is finally finished, or at least to the point where I’m satisfied with it. It’s a single stage, vertical slice of something I’d like to potentially continue on in the future, but I have other things I’d like to pursue at the moment, such as a C++ / DirectX11 game, which I’ll begin working on with 3 friends starting November 1st.\nYou can play the game from here. There are a few occasional bugs that I’m aware of, and others which I can’t reproduce, but I’m leaving this project “as-is” to begin work on other things. The loading time is horrendous (thanks DropBox), but until I find an alternative or faster hosting solution, it is what it is. It works in all major browsers, and although it works on several mobile browsers (Safari, for example), I haven’t implemented touch controls, so you won’t be able to move anywhere.\nAlthough the game retains much of the difficulty I loved from arcade shooters of the 80s and 90s, I’ve found that using all of the tools you have at your disposal greatly help lower the difficulty curve. There are homing missiles, slow motion, and turrets for a reason. Use them! My goal was to make a game which is initially difficult, but can be mastered without requiring trial-and-error playthroughs.\nAs always, the source code for Super Rawr-Type Redux is open source, so feel free to make use of it as you see fit. If you did happen to find something of use in there, let me know! I’d love to understand how it helped you out. The music is done in the 8-bit style of the older Mega Man games, and belongs to Kevin Phetsomphou. You can find more of his excellent work on his youtube channel here.\nI enjoy working on smaller, 1-3 month projects, and for a number of reasons. It affords me the following opportunities:\n1) Fail fast\n2) Learn quickly\n3) Build on what I’ve already done\n4) Prevent feature creep\n5) Ship titles!\nWhat’s not to like? Sure, I never afford myself the opportunity to build something large, but at the same time, is it even reasonable to assume that a single developer can always produce a shippable AAA quality title and not get burnt out? I’d rather have 10 smaller projects under my belt than 1 large one.\nImprovements This time around I built on much of what I created in the original Super Rawr-Type game , but I started from scratch. There is no longer a camera, but instead the player remains within the screens bounds at all time, and the parallax stars are what lead you to believe that there is actually horizontal movement. In reality, the game screen never extends past width / height of the screen.\nFurthermore, enemies are all spawned off screen from a class called entitySpawner.js, which resets a timer each time enemies spawn on screen, and then checks if it can continue to spawn enemies. This offered a considerable performance improvement, as previously I created all of the enemies during initialization and had them on the map as the game started.\nThere is now a sound manager, which offers a central resource for all of my sound effects and music tracks, in addition to a music fader, which affords me the ability to segue between tracks.\nTweening has seen multiple improvements, and each menu on screen is an entity, which can be tweened on and off screen in 1 of 20 ways. This really helped to give the game more of a polished feel from what I had before.\nThe enemy boss took me about 3 weeks to write, because I had never taken the time to create one before. It’s more work than I had anticipated, but I learned quite a bit from it in the end. Creating enemies which would spawn off of it wasn’t difficult, but creating ports which served as the boss’ weak point was a fun lesson, and creates a bit of a challenge for players.\nMuch of this game is inspired by StarFox, hence the boss having the ability to suck the player towards it’s hull, similar to Andross pulling Fox McCloud into his mouth during the final scene on Venom.\nNumerous performance optimizations have been made, including object pooling and a new particle engine, courtesy of Vincent Piel, at http://gamealchemist.wordpress.com/. He is an incredible resource of knowledge, and those of you looking to make performance optimizations for your JavaScript work should definitely give his site a look. I wrote more about my experiences with object pooling in JavaScript here.\nAll bullets on screen are pooled, in addition to the particles and parallax starfield. Moreover, the framerate never drops below 30fps, even while under the heaviest load. I’ve found that it stays at 60 fps nearly the entire time, which has been a goal all along.\nWe’ll see where my next project takes me, but for now this chapter is closed, and perhaps I’ll pick it up again at some other point. That’s the beauty of HTML5 and JavaScript – portability!\n","permalink":"https://davevoyles.com/posts/super-rawr-type-redux-is-released-for-the-browser/","summary":"\u003ch4 id=\"click-here-to-play-super-rawr-type-redux\"\u003e\u003cstrong\u003e\u003ca href=\"http://super-rawr-type.azurewebsites.net\"\u003eClick here to play Super Rawr-Type Redux\u003c/a\u003e\u003c/strong\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cstrong\u003eSource Code:\u003c/strong\u003e  \u003ca href=\"https://github.com/DaveVoyles/Super-Rawr-Type-Redux\"\u003ehttps://github.com/DaveVoyles/Super-Rawr-Type-Redux\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eI’ve spent the last 3 months working on the follow up to my previous game, \u003cem\u003eSuper Rawr-Type\u003c/em\u003e. It was a simple side scrolling 2D shmup, which I wrote in JavaScript and also ported to Windows 8. One bug prevents me from getting it into the store, and I’m not able to replicate it, so who knows if it will ever be released there.\u003c/p\u003e","title":"Super Rawr-Type Redux is released for the browser"},{"content":"For some time now I’ve been building HTML5 apps for Windows 8. I had previously done work in C# and XAML (Spell and Speak, Pizong, and two Unity games), but prefer HTML5 and JavaScript for a number of reasons. First and foremost, it allows me to build apps for multiple platforms while only having to make marginal tweaks for each one. Naturally, each platform comes with its own ups and downs, but I haven’t really had any issues with Windows 8 until I started integrating jQuery.\nFor the first few months, jQuery did not work at all. How Microsoft planned to get web developers on board without one of, if not the, most popular JavaScript library is beyond me. For months developers met on Stack Exchange to hack apart jQuery and see how they could it to work in their Win8 apps. Well, with the 2.0 update of jQuery most of the problems have been fixed.\nStill, I’ve run into some issues of my own. But alas, I’ve also come up with solutions!\nProblem 1: When attempting to dynamically insert a div, Windows 8 throws an error. Specifically, it’s when trying to use something like:\ndiv.innerHTML = \u0026#34;A string of some stuff\u0026#34; HTML1701: Unable to add dynamic content \u0026#39; a\u0026#39; A script attempted to inject dynamic content, or elements previously modified dynamically, that might be unsafe. For example, using the innerHTML property to add script or malformed HTML will generate this exception. Use the toStaticHTML method to filter dynamic content, or explicitly create elements and attributes with a method such as createElement. For more information, see http://go.microsoft.com/fwlink/?LinkID= Reason: The reasoning behind all of these problems is the same, so I’ll just state it here once for the sake of brevity. `Microsoft fears that the string can be intercepted somewhere along the line, and malicious content can be added to the values of your string.\nWork Around: The big issue with this method is that you’re trying to use innerHtml. Instead, use .append.\nThat still won’t work if you just try to pass in a string, however. What you need to do is set your string to a variable, then pass in that variable. If you do not create an object (that is, setting the string to a variable) then this will not work. If you just try to use a string, then you’ll see nothing but text where the div should be.\nHere’s a single line example:\n$panel.append(\u0026#39;\u0026lt;\u0026#39;img src=\u0026#34;\u0026#39; + item.thumbImageUrl +\u0026#39;\u0026#34; \u0026gt;\u0026#39;); If you try to pass that in, Windows 8 will throw the error seen above. Even if I wrap that in *MSApp.execUnsafeLocalFunction()*I will still see an error.\nThe workaround is as follow:\nvar appendString = \u0026#39;\u0026lt;\u0026#39;img src=\u0026#34;\u0026#39; + item.thumbImageUrl \u0026#39;\u0026#34; \u0026gt;\u0026#39;; $panel.append(appendString); Because I’m now taking that string and setting it to a variable (thereby turning it into an object), Windows 8 will allow me to pass in that object and create dynamic content.\nEven then, it will occasionally throw the error above. HOWEVER, if you were to wrap that object in *MSApp.execUnsafeLocalFunction(),*you would then be in the clear. WinJS offers a function to wrap your own functions in, which allows you to basically say “I take responsibility for this function, and I assure you it’s safe.” That function is called: MSApp.execUnsafeLocalFunction().\nSo the final solution looks like this:\nvar appendString = \u0026#39;\u0026lt;\u0026#39;img src=\u0026#34;\u0026#39; + item.thumbImageUrl \u0026#39;\u0026#34; \u0026gt;\u0026#39;; MSApp.execUnsafeLocalFunction(function() { $panel.append(appendString); }); You can read more about this issue here.\nProblem 2: This is the one that took me the longest to figure out, as there wasn’t much covered about it on the internet. When attempting to use .append or .appendChild, Windows 8 throws the same error.\nWork Around: Sadly, the method listed above is not the silver bullet for Windows 8 and jQuery. Alas, not all is lost. You can hack apart jQuery in some spots (namely wherever .append or .appendChild is called).\nI’ve modified jQuery myself, and you can find a version of it here. It’s a modified version of 2.0.3.\nWith these two work arounds I’ve managed to get all of my HTML5 and jQuery code to work without error on various Windows 8 devices. I’d love to hear about what you think!\nFurther Reading: execUnsafeLocalFunction from MSDN TutsPlus tutorial on jQuery and Win8 ","permalink":"https://davevoyles.com/posts/hacking-jquery-to-work-in-windows-8/","summary":"\u003cp\u003eFor some time now I’ve been building HTML5 apps for Windows 8. I had previously done work in C# and XAML (\u003cem\u003eSpell and Speak\u003c/em\u003e, \u003cem\u003ePizong,\u003c/em\u003e and two Unity games), but prefer HTML5 and JavaScript for a number of reasons. First and foremost, it allows me to build apps for multiple platforms while only having to make marginal tweaks for each one.  Naturally, each platform comes with its own ups and downs, but I haven’t really had any issues with Windows 8 until I started integrating jQuery.\u003c/p\u003e","title":"Hacking jQuery to work in Windows 8"},{"content":"10 months. 80 hours. That’s how long it took me to play through Persona 4, and with my severe video game ADHD, if I play anything for more than a night, then that’s an accomplishment. Well, it really took a bit more than that, because I earned all 3 endings and died a few times, but we’ll go with the official game time of 8o hours. The last time I put this much time into a game was Dragon Quest VIII on the PS2, and Final Fantasy VII on the PS1.\nThis has been the most engrossing interactive experience I’ve ever had the joy of playing.\nDespite the game’s somewhat sophomoric idea of playing as a group of teenage high schoolers in a remote rural Japanese town, Persona 4 manages to touch on a number of mature themes throughout the adventure. Kanji struggles with his sexuality, while Rise is always hesitant to express her true feelings for the main character (MC from here on out), and you’re your uncle, Ryo, soon realizes the difficulties faced with raising a small child as a single parent after the sudden death of his wife.\nPart game, part teenage life sim, Persona 4 takes an approach toward gaming that I hadn’t experience before. At certain points you’ll find yourself grinding through dungeons for hours on end, immediately followed by several hours of the attending high school, ski trips, and taking exams in the simulation part of the game.\nThere’s a number of things that really allow Persona 4 to stand out in my mind, and it’s a damn shame that it came out so late in the Playstation 2’s life, because so many people completely missed it when the current console generation launched. Fortunately, developer Atlus has re-released it and added some content, dubbing it “Persona 4 Golden.” It’s worth owning a PS Vita for this game alone.\nOf all the games I’ve played, this one has the most professional appearance, polish, and presentation I’ve ever seen – and by a mile. That’s the crazy part; the game has been out for 5 years, and nothing has come even remotely close to matching the amount of polish on this game’s surface. The art is gorgeous, voice acting is believable, and Shoji Meguro’s soundtrack is phenomenal; it even sparked its own annual concert series in Japan.\nThat’s not to say that Persona 4 is for everyone, as the inconsistent pace and Japanese aspects of the game can’t be off-putting if you aren’t prepared. If you’re a fan of pop culture, anime, or other Japanese titles, then I could certainly see this appealing to you.\nPerhaps the most appealing aspect of the game is how well fleshed out the characters are. By the end of my journey I knew the ins-and-outs, and most intimate moments of these individuals, all with distinct personalities and diverse character traits, reminiscent of my own high school years. In fact, the MC lives out nearly an entire school year within the game, including all of the clubs, activities, and sports that come along with becoming a student.\nI found some of the boss fights to be less than desirable with their length, and even cheap at times with one hit kills, but with enough strategy and leveling I was able to take them all out.\nDespite this, I feel that everyone involved in the gaming community: journalists, developers, and publishers alike, should be required to play this game. It’s not for everyone, but it can certainly help you to appreciate how beautiful and well put together interactive media really can become. Some may say that video games as a medium aren’t at a point yet where they can touch on adult themes responsibly and be taken seriously. I disagree, and offer Persona 4 as a proof that the medium can effectively convey these thoughts and feelings.\nAs it stands, Persona 4 has recently moved into my top 5 game of all time, alongside the likes of A Link to the Past, Mega Man X, Resident Evil, and Final Fantasy VII. If you own a Vita, or are even on the fence about buying one, then this game should be the first thing you grab. In fact, it’s the only cartridge that has even been in my Vita, and I bought it in November of last year! It’s bittersweet to finally put the chapter to a close, and I’m eagerly awaiting more, but I guess I’ll just have to go back to playing Persona 3 to hold me over until the next title is released.\n","permalink":"https://davevoyles.com/posts/after-10-months-ive-finished-persona-4-a-game-you-should-all-experience/","summary":"\u003cp\u003e10 months. 80 hours. That’s how long it took me to play through Persona 4, and with my severe video game ADHD, if I play anything for more than a night, then that’s an accomplishment.  Well, it really took a bit more than that, because I earned all 3 endings and died a few times, but we’ll go with the official game time of 8o hours.  The last time I put this much time into a game was Dragon Quest VIII on the PS2, and Final Fantasy VII on the PS1.\u003c/p\u003e","title":"After 10 months, I've finished Persona 4 — A game you should all experience."},{"content":"Yesterday’s E3 conference was perhaps the most interesting one I’ve seen since 1995’s Sega debacle, where they thrusted the Saturn out of the gate, 6 months ahead of schedule and unbeknownst to developers.\nMicrosoft came out of the gate with a strong lineup, a solid piece of hardware, and certainly some clarification on their policies which people were understandably curious about. Yesterday evening however, Sony came out swinging, pulling the ole’ rope-a-dope: A tactic where a fighter sits back and takes punches until it’s finally their turn to shine. And that’s exactly what they did.\nSo how do the big two line-up in the eyes of gamers right now? Let’s run through it:\nPricing: $500 for the Xbone is exactly in line with what I suspected it would cost. That’s actually an excellent deal when you consider how much people spend on cell phones, iPads, and standalone graphics cards for their desktop rigs. When the PS1 and Saturn first launched, I mowed lawns relentlessly as a 3rd grader so that I could afford them immediately. And I did! So in my eyes, a $500 price point is not much at all.\nHere is a nice comparison chart of how the current price points align with those of consoles in the past. Console pre-orders sold out at Amazon with 4 hours of the announcement.\nSony on the other hand, announced that their product would ship for $400. That’s $100 less, and certainly a huge win for consumers. I’m surprised that they could pull it off, especially when you consider that it uses the faster DDR5 ram, as opposed to Microsoft’s DDR3, which is considerably cheaper.\nOnline: LIVE is still in place for Xbox. Sadly, your XBLA and retail games won’t carry over due to the architecture change from powerPC to X86, nor will your XBLIG (R.I.P. XBLIG) titles. Fortunately your current subscription will work on both the 360 and Xbone, though. You finally have more than 100 friends on your friends list too! That was previously a limitation of the aging LIVE architecture, from what I understand.\nTwitch.tv has partnered with MS to allow for live streaming and chatting of your games as you play, in addition to the ability to quickly edit and upload clips on the fly. Let’s plays, and gathering an audience around gaming events are huge now, so I’m glad to see that they’ve adopted this model. Your live subscription will also continue to cost the same. I’ve never paid more than $35 a year, as Amazon constantly has them on sale.\nPlaystation has partnered with UStream to deliver a similar service. I’m not sure of what the difference is between Twitch.tv and Ustream, but they seem similar enough and both allow for the same features across the consoles.\nPS+ continues to carry a ton of value into the next gen, and your current subscription will carry over as well. I think it’s like $5 a month, so that’s an absolute steal, considering all of the free games and discounts it offers each month.\nThe catch however, is that it will be REQUIRED for multiplayer now. Sony snuck that in through a slide during their high point of last night’s show, without saying a word about it. Again, this is of little concern as PS+ is already an outstanding value.\nStreaming/Backwards compatibility: No plans from Microsoft.\nSony purchased Gaikai, the online streaming service some time ago, and is finally taking advantage of it. Launching in early 2014 in North America, gamers will be able to stream a number of PS3 and past titles to the PS3, PS4, and Vita via Gaikai. This is huge.\nSecond screen experience: Microsoft has SmartGlass (which I can’t say much about for different reasons) other than: it’s awesome, just take my word on it. As more companies choose to adopt it, and Microsoft certainly seems to be making that push, I believe it will really start to take off, especially when you consider that it works on nearly all mobile devices, in addition to PCs.\nSony has their Vita, which all PS4 developers must adopt. In other words, if you make a game or the PS4, you MUST also be able to play it on the Vita. It’s a bit of a hurdle for developers, but for consumers it is a huge win. I have had a Vita since November, and it is an absolute gem of a device. Beautiful piece of hardware, tons of older games to play, and worth it for Persona 4 Golden Edition alone. I’m glad that Sony is finally pushing for this device.\nRegion Lock: Region locking, or the ability for a device to reject software based on the region of the world it should be released in, is nothing new. Titles have been using it for years. In the days of the Sega Saturn, I would have to order the ST-Key (Saturn Translation Key) to get around such barriers and play my Japanese games, but other devices have become stricter in recent memory.\nThe Xbone will again impose region locking , where the PS4 will not. What does this mean for you? Well do you ever import games? If not, then you have nothing to worry about. If you’re an avid fan of sites like PlayAsia or import a lot of games (Japanese shmups and JRPGs are my weapon of choice) then this is a nice perk to have.\nIndies: Honestly, I’m shocked that Microsoft completely dropped the ball here. XBLIG in the last generation garnered them so much support from the little guys, and so many friends of mine (myself included) have our careers due to that platform. Sure, it wasn’t without its flaws, but that’s what allowed me to enter programming and game development, so it will always have a special place in my heart.\nSadly, Microsoft has chosen not to go with this route, or anything similar for that matter, and indies will not be able to self- publish games on this next platform. That’s a lot of money to leave on the table, so I’m still astonished that they would leave it to the competitors to scoop up.\nSony on the other hand has been welcoming indies with open arms for some time now. The Playstation Mobie Suite dev kit dropped its $100 price tag and is now FREE for indies to write apps for Sony mobile devices, and Vita, using C#. Moreover, Sony flaunted a number of indie developers and titles during the press conference last night as well. This is a huge win for them, and for indies who will be allowed to self publish.\nI’m curious to see what the restrictions are, what it will cost (license agreements? Dev kits? etc.), but this is definitely a step in the right direction.\nHardware: For the most part, the hardware is strikingly similar. I don’t know enough about either platform to really make an educated decision here, and unless you know someone who is working on both platforms, I’d take everything with a grain of salt from the so-called “experts.” The Cell processor in the last gen was an absolute beast of a machine, but also a project to develop for.\nThis time around though, both systems are running VERY similar hardware, and are both using X86 (so, essentially PC) architecture, which makes development exponentially easier.\nUsed Games / Always On: I don’t really buy used games anymore, as I understand they aren’t really beneficial to the developer, but they certainly have their place in society. I’d still like to be able to loan games back and forth with friends, but all of these current restrictions with the Xbone make me a bit uneasy.\nPlaystation on the other hand has no restrictions whatsoever. This may be the deathblow for Microsoft. Are gamers really ready to have their games locked to their devices? Sure, we’ve been doing it with Steam for nearly a decade, but Steam also offers games at insanely low prices, and from what Valve says, when they finally do shut down shop, your games are DRM free. Overall huge win for Sony in this department.\nI’d be curious to see if Microsoft ever does drop their strict DRM scheme in favor of a more open environment, now that Sony is putting pressure on them to do so. Even more curious, is the fact that the DRM scheme seems self-imposed, and not driven by publishers, as initially speculated, considering Sony doesn’t have this in place.\nLong Term: Consoles are generally on a 10 year lifecycle at this point in gaming. The PS2 was strongly supported well after the 10 year mark, and our current crop of systems are hitting the 8 year mark as we speak. Developers aren’t jumping ship anytime soon, considering the absurd cost of development, in addition to the large install base.\nPrice isn’t everything – we’ve seen consoles shift prices over time to adjust with consumer demands, so will the $100 price difference at launch really be what separates the two? Moreover, publishers will want to protect their business model, and what better what than a restrictive DRM scheme? We’ll see how this plays out over time, and whether or not publishers continue to make titles on a platform which offers no DRM services. Alternatively, if the PS4 sells as well as it should, will publishers really care?\nI can’t predict what will happen, but I’m certain that I’ll get both devices at launch. I’m curious to see what my friends and industry peers believe, so grab a hold of me on here, twitter or facebook so we can carry on the discussion.\nNintendo: Nintendo needs their own place in this piece, because they are in their own little world. It breaks my heart to see them in their current position: floating about, with little to no third party support (that’s their own fault), and not even part of the conversation of this generation of consoles.\nThe Wii-U is released, but after its initial sale, not a word was spoken. I think all lifelong gamers alike died a bit inside with this, as we grew up on, and largely attribute our desire to play games due to this company. I know I got my start on Nintendo devices, but they seem to have lost their way in the console market. Alternatively, they completely own the handheld space.\nLet’s see how things play out for them as well.\n","permalink":"https://davevoyles.com/posts/console-wars-of-2013-who-will-win-big/","summary":"\u003cp\u003eYesterday’s E3 conference was perhaps the most interesting one I’ve seen since 1995’s Sega debacle, where they thrusted the Saturn out of the gate, 6 months ahead of schedule and unbeknownst to developers.\u003c/p\u003e\n\u003cp\u003eMicrosoft came out of the gate with a strong lineup, a solid piece of hardware, and certainly some clarification on their policies which people were understandably curious about.  Yesterday evening however, Sony came out swinging, pulling the ole’ rope-a-dope: A tactic where a fighter sits back and takes punches until it’s finally their turn to shine. And that’s exactly what they did.\u003c/p\u003e","title":"Console wars of 2013: Who will win big?"},{"content":"Loading Super Rawr-Type within the Win8 touch simulator\nFor the last two weeks or so I’ve been working out bugs in Super Rawr-Type and integrating touch controls for the Windows 8 port. This is the first time I’ve ever created touch controls, so it took a bit to understand how they work, specifically with toggling the joystick for movement and stationary buttons for shooting, switching weapons, and activating powerups.\nWhat proved most difficult for me really was not having a machine to test my controls on. I’ve had to rely on the simulator thus far, which basically runs a virtual machine on your desktop, wrapped a shell that appears like a Win8 tablet. The buttons on the right hand side emulate figure gestures, so you can view and understand how your own touches will affect the game.\nActive touch inputs, using the Win8 simulator\nYou can do in Visual Studio 2012 by selecting “simulator”from the debug ribbon. Shortly after, the simulator will appear. From there I load another instance of Visual Studio from within the simulator, but this time I click on “local machine” from the debug ribbon so that I can run Super Rawr-Type from within that instance of the simulator. This is where all of my testing for touch inputs occurs.\nThe Joystick and Hit-Area Classes Jesse Freeman wrote a great Joystick class in his Windows 8 Boostrap kit for ImpactJS. I highly suggest you look through everything offered in that package, as it greatly streamlines the process of porting your impactJS project and implements a number of great plugins that I continue to use throughout this project.\nThe GitHub for the joystick can be found here. It’s pretty straight forward, and the way you implement it into your game is what’s really important though. The joystick works by drawing itself beneath where your mouse pointer is clicked, then can be rotated a fixed distance around the circumference of your digital joystick.\nThose limits are set with this function:\nlimit: function(x1, y1, x2, y2, radius) { // the vector between the two points var dx = x2 - x1, dy = y2 - y1, distanceSquared = (dx * dx) + (dy * dy); if (distanceSquared \u0026lt;= radius * radius) { return { x: x2, y: y2, dist: radius }; } else { var distance = Math.sqrt(distanceSquared), ratio = radius / distance; return { x: (dx * ratio) + x1, y: (dy * ratio) + y1, dist: radius }; } } My player class can be seen here, and illustrates how I use the joystick within my game. I start by initializing the joystick when the player loads, and also adding the touch controls buttons:\nEntityPlayer = EntityBaseActor.extend( { .... /* Touch Controls */ aButton: { name: \u0026#34;a button\u0026#34;, label: \u0026#34;A\u0026#34;, x: 0, y: 0, width: 0, height: 0 }, bButton: { name: \u0026#34;b button\u0026#34;, label: \u0026#34;B\u0026#34;, x: 0, y: 0, width: 0, height: 0 }, cButton: { name: \u0026#34;c button\u0026#34;, label: \u0026#34;C\u0026#34;, x: 0, y: 0, width: 0, height: 0 }, toggleButton: { name: \u0026#34;toggle button\u0026#34;, label: \u0026#34;Toggle\u0026#34;, x: 0, y: 0, width: 0, height: 0 }, joystick: null, .... init: function(x, y, settings) { this.parent(x, y, settings); .... // Joystiq and touch controls this.joystick = new TouchJoystick(); ig.game.clearHitAreas(); .... }, Drawing the buttons Screen without buttons\nI need to draw the joystick as well, so I do that in my draw function, but only if the joystick and touch controls are active. Otherwise they remain invisible.\n/******************************************* * Draw ******************************************/ draw: function () { if (this.invincible) { this.currentAnim.alpha = this.invincibleTimer.delta() / this.invincibleDelay * 1; } this.drawUI(); this.drawExitText(); this.drawBulletTimeText(); if (ig.game.bActivateTouchControls) { this.drawButtons(); } if (this.joystick \u0026amp;\u0026amp; ig.game.bActivateTouchControls) { if (this.joystick.mouseDown) { if (this.joystick.mouseDownPoint) { // Offsets are necessary b/c I am using a smaller joystick than Jesse\u0026#39;s Bootstrap starter kit used this.textures.drawFrame(\u0026#34;touch-point-small.png\u0026#34;, (this.joystick.mouseDownPoint.x + 56) - this.joystick.radius, (this.joystick.mouseDownPoint.y + 58) - this.joystick.radius); this.textures.drawFrame(\u0026#34;touch-point-large.png\u0026#34;, (this.joystick.currentMousePoint.x + 47) - this.joystick.radius, (this.joystick.currentMousePoint.y +47) - this.joystick.radius); } } } this.drawTouchToggle(); this.parent(); }, That’s our player’s draw loop, but inside that you’ll see we have functions for drawing the joystick and button. The joystick is only visible if both the touch controls are active AND joystick is true. Joystick is only true if the player’s finger is against the screen. This prevents us from having a joystick cluttering up the screen at all times.\n/****************************************** * drawButtons * Draws buttons for Win8 controls * Registers hit areas for inputs to detect ******************************************/ drawButtons: function () { this.xOffset = ig.system.width / 2; this.yOffset = ig.system.height / 2; var buttonWidth = 45, buttonHeight = 41; // A button this.textures.drawFrame(\u0026#34;touch-point-small-A.png\u0026#34;, this.xOffset + 50, this.yOffset + 80); ig.game.registerHitArea(this.aButton.name, this.xOffset + 50, this.yOffset + 80, buttonWidth, buttonHeight); // B button this.textures.drawFrame(\u0026#34;touch-point-small-B.png\u0026#34;, this.xOffset + 100, this.yOffset + 90); ig.game.registerHitArea(this.bButton.name, this.xOffset + 100, this.yOffset + 90, buttonWidth, buttonHeight); // C button this.textures.drawFrame(\u0026#34;touch-point-small-C.png\u0026#34;, this.xOffset + 150, this.yOffset + 100); ig.game.registerHitArea(this.cButton.name, this.xOffset + 150, this.yOffset + 100, buttonWidth, buttonHeight); }, /****************************************** * drawTouchToggle * If true, Joystick and buttons are displayed ******************************************/ drawTouchToggle: function() { this.xOffset = ig.system.width / 2; this.yOffset = ig.system.height / 2; var buttonWidth = 44, buttonHeight = 23; // Button to trigger touch controls on / off this.textures.drawFrame(\u0026#34;joystick-toggle.png\u0026#34;, this.xOffset - 231, this.yOffset - 100); ig.game.registerHitArea(this.toggleButton.name, this.xOffset - 231, this.yOffset - 100, buttonWidth, buttonHeight); }, The function ig.game.registerHitArea comes from Jesse’s hit-area plugin, which injects some functionality into the game class from within the plugin. You can read more about injection here, and quite simply it adds functionality to a class (in this case, source code) in instances where you do not have access to the source code.\nRather than make any changes from within the game class itself, we can add functions and variables from another class, and tie it into game. It is useful in certain situations, although I find that it often leads to confusing code, as you may not always be aware of where the injected code is coming from.\nSo in one function we are drawing the buttons on screen, in addition to registering the hit areas. Notice that the hit areas are the same size as the button textures?\nUpdating the joystick to respond to our touch Touch instructions before the game starts\nWith that out of the way, we can focus on the final part, and that’s updating the joystick and hit areas to respond to our touch. I tried separating my update loop into smaller, manageable functions, but it’s turned out to be a mess because of how tightly coupled everything is. My animations are tied to the speed of my player, my inputs are tied directly to the speed, and my weapon firing and switching are also tied directly to my inputs.\nDespite my lack of modularity in my current code, it should still give you a great idea of how touch controls work with Win8 and JavaScript. I probably should go back and refactor much of this, but that’s time consuming, and I’m simply using my brief time with this project as a learning experience.\nMy update loop looks like this (missing content is denoted with “….” for brevity):\n/****************************************** * Update - handles input, weapons, anims ******************************************/ update: function() { var idleSpeed = 120; fastSpeed = 150; backSpeed = 80; /*===================================== Joystick controls =====================================*/ if (this.joystick) { // Activates joystick if mouse click is detected \u0026amp; touch controls are toggled on if (ig.input.pressed(\u0026#39;click\u0026#39;) \u0026amp;\u0026amp; ig.game.bActivateTouchControls) { // I use +47 to align the touch point with the center of the mouse point. Odd bug perhaps? this.joystick.activate(ig.input.mouse.x, ig.input.mouse.y); } else if (ig.input.released(\u0026#39;click\u0026#39;)) { this.joystick.deactivate(); } // Updates joystick based on mouse location this.joystick.update(ig.input.mouse.x, ig.input.mouse.y); // Mouse Control Logic if (this.joystick.mouseDown) { this.mouseDownPoint = this.joystick.mouseDownPoint; this.currentMousePoint = this.joystick.currentMousePoint; // If mouse is down and moved a certain distance, then begin to detect and perform checks if (this.currentMousePoint.y \u0026lt; this.mouseDownPoint.y -15) { // Moving Up this.vel.y = -idleSpeed; this.accel.x = this.speed; } else if (this.currentMousePoint.y \u0026gt; this.mouseDownPoint.y +15) { // Moving down this.vel.y = idleSpeed; this.accel.x = this.speed; } else { this.vel.x = idleSpeed; this.vel.y = 0; } if (this.currentMousePoint.x \u0026gt; this.mouseDownPoint.x +15) { // Moving Right this.vel.x = fastSpeed; } else if (this.currentMousePoint.x \u0026lt; this.mouseDownPoint.x -15) { // Moving Left this.vel.x = backSpeed; } else { // Idle speed this.vel.x = idleSpeed; } this.currentMousePoint = null; } } // Updates touch button inputs if (ig.input.pressed(\u0026#39;rightClick\u0026#39;) \u0026amp;\u0026amp; ig.game.bActivateTouchControls) { // Scan all hit areas and detect a key press var hits = ig.game.testHitAreas(ig.input.mouse.x, ig.input.mouse.y); if (!ig.ua.mobile) { if (hits.indexOf(\u0026#34;a button\u0026#34;) != -1) { this.bIsShooting = true; } if (hits.indexOf(\u0026#34;b button\u0026#34;) != -1) { this.bSwitchingWeapons = true; } if (hits.indexOf(\u0026#34;c button\u0026#34;) != -1) { this.bSlowingTime = true; } } } // When the button is released.... else if (ig.input.released(\u0026#39;rightClick\u0026#39;)) { this.bIsShooting = false; this.bSwitchingWeapons = false; this.bSlowingTime = false; } // Toggles touch inputs on/off if (ig.input.pressed(\u0026#39;rightClick\u0026#39;) || ig.input.pressed(\u0026#39;click\u0026#39;)) { // Scan all hit areas and detect a key press var hits = ig.game.testHitAreas(ig.input.mouse.x, ig.input.mouse.y); if (!ig.ua.mobile) { if (hits.indexOf(\u0026#34;toggle button\u0026#34;) != -1) { ig.game.bActivateTouchControls = !ig.game.bActivateTouchControls; } } } I’ve gone ahead and commented all of the code, so it should be incredibly easy to read. I do this for myself, as I can quickly scan through the code and understand what the purpose of each block or line of code is for. This also allows others to view the code and say “Hey, your comment doesn’t match up with the task that this block is performing”, and therefore makes troubleshooting and collaboration far easier.\nThe first thing I have in my update loop there are checks.\nif (this.joystick) { // Activates joystick if mouse click is detected \u0026amp; touch controls are toggled on if (ig.input.pressed(\u0026#39;click\u0026#39;) \u0026amp;\u0026amp; ig.game.bActivateTouchControls) { Without these the joystick would also be drawn on screen and updated each time the mouse is moved, regardless of whether or not it is clicked For ship movements with the joystick you’ll see that I also have +15 tacked onto the end of many of my if statements.\nif (this.currentMousePoint.y \u0026lt; this.mouseDownPoint.y -15) { // Moving Up this.vel.y = -idleSpeed; This is a small buffer that allows for a “dead zone” in the center of the joystick. If the player is touching the joystick, but hasn’t moved 15 pixels from the center of the joystick’s radius in any direction, then the ship will remain stationary. Without this, the ship would begin to fly up the moment joystick was pressed up, regardless of where the player’s finger was in relation to the joystick.\nThat’s all there really is to the joystick. Take a look at Jesse’s code to get a better idea of how he uses it for his project, and you see spot some of our key differences. Additionally, he uses a slightly larger joystick than I do, so I had to compensate for that difference due to my lower screen resolution.\nThis can be seen in the draw loop for my joystick. Without the numbers added to my mouseDownPoint function, my joystick would appear up and to the left from my actual mouse down point:\nif (this.joystick.mouseDownPoint) { // Offsets are necessary b/c I am using a smaller joystick than Jesse\u0026#39;s Bootstrap starter kit used this.textures.drawFrame(\u0026#34;touch-point-small.png\u0026#34;, (this.joystick.mouseDownPoint.x + 56) - this.joystick.radius, (this.joystick.mouseDownPoint.y + 58) - this.joystick.radius); this.textures.drawFrame(\u0026#34;touch-point-large.png\u0026#34;, (this.joystick.currentMousePoint.x + 47) - this.joystick.radius, (this.joystick.currentMousePoint.y +47) - this.joystick.radius); } Updating the buttons to respond to our touch The first thing I needed to do here was create a toggle so that the touch buttons are not always drawn on screen. What if the user is playing on a machine that doesn’t have touch? Why draw the buttons then? There is no way that I’m aware of to detect whether or not the user has a touch-capable machine, so I’d rather just give them the option to select it him or herself. That is done with this block in my player’s update loop:\n// Toggles touch inputs on/off if (ig.input.pressed(\u0026#39;rightClick\u0026#39;) || ig.input.pressed(\u0026#39;click\u0026#39;)) { // Scan all hit areas and detect a key press var hits = ig.game.testHitAreas(ig.input.mouse.x, ig.input.mouse.y); if (!ig.ua.mobile) { if (hits.indexOf(\u0026#34;toggle button\u0026#34;) != -1) { ig.game.bActivateTouchControls = !ig.game.bActivateTouchControls; } } } This button resides in the top left corner of my screen, just beneath the player’s HUD. When touched with either the left or right mouse button, it will trigger the buttons to be drawn on screen. Otherwise, all of the button logic resides in this block of code, also found in the player’s update loop:\n// Updates touch button inputs if (ig.input.pressed(\u0026#39;rightClick\u0026#39;) \u0026amp;\u0026amp; ig.game.bActivateTouchControls) { // Scan all hit areas and detect a key press var hits = ig.game.testHitAreas(ig.input.mouse.x, ig.input.mouse.y); if (!ig.ua.mobile) { if (hits.indexOf(\u0026#34;a button\u0026#34;) != -1) { this.bIsShooting = true; } if (hits.indexOf(\u0026#34;b button\u0026#34;) != -1) { this.bSwitchingWeapons = true; } if (hits.indexOf(\u0026#34;c button\u0026#34;) != -1) { this.bSlowingTime = true; } } } // When the button is released.... else if (ig.input.released(\u0026#39;rightClick\u0026#39;)) { this.bIsShooting = false; this.bSwitchingWeapons = false; this.bSlowingTime = false; } If the player right clicks (or touches) the a button, then the player will begin firing, as determined by the boolean this.bIsShooting = true;. This is tied directly into my player’s firing function at the top of the update loop:\n/*====================================== Weapons ======================================*/ var isShooting = ig.input.state(\u0026#39;shoot\u0026#39;); if (this.bIsShooting \u0026amp;\u0026amp; this.lastShootTimer.delta() \u0026gt; 0 || isShooting \u0026amp;\u0026amp; this.lastShootTimer.delta() \u0026gt; 0) { switch (this.activeWeapon) { case (\u0026#34;EntityBullet\u0026#34;): this.equipedWeap = ig.game.getEntityByName(\u0026#39;bullet\u0026#39;); this.lastShootTimer.set(this.equipedWeap.fireRateWeak); ig.game.bulletGen.useBullet(EntityBullet, this, null, +10, +2); this.hit01_sfx.play(); break; Now I have the option of pressing the shoot button (tied to “C” on the keyboard) or the shoot button on the touch interface. The final key part to the button logic is the else if statement. Without this, the player would continue to perform the given task (ie. shooting, switching weapons, activating slow mo).\n// When the button is released.... else if (ig.input.released(\u0026#39;rightClick\u0026#39;)) { this.bIsShooting = false; this.bSwitchingWeapons = false; this.bSlowingTime = false; } Conclusion Support for Win8 Snap View\nWell that’s all there is to it! It may seem far more complicated than it is, but if I can figure out touch controls and implement them in one day, then surely you can as well. Again, I urge you to take a look at that bootstrap starter kit, as it provides tons of functionality to get your game working on Windows 8 and other devices.\nMy game is completed now, and I’m handing it out to testers before submitting it to the Win8 store later this week. The web build is complete as well, but I ran into some sort of build error, where it seems to be missing a “;” termination statement somewhere. I’ll sift through it when I have more time.\nUp next? WebGL support! If you have any questions about this project or need help integrating certain features into your own Impact project, feel free to get in touch with me!\n","permalink":"https://davevoyles.com/posts/adding-touch-controls-for-windows-8/","summary":"\u003cp\u003eLoading Super Rawr-Type within the Win8 touch simulator\u003c/p\u003e\n\u003cp\u003eFor the last two weeks or so I’ve been working out bugs in \u003cem\u003eSuper Rawr-Type\u003c/em\u003e and integrating touch controls for the Windows 8 port. This is the first time I’ve ever created touch controls, so it took a bit to understand how they work, specifically with toggling the joystick for movement and stationary buttons for shooting, switching weapons, and activating powerups.\u003c/p\u003e\n\u003cp\u003eWhat proved most difficult for me really was not having a machine to test my controls on. I’ve had to rely on the simulator thus far, which basically runs a virtual machine on your desktop, wrapped a shell that appears like a Win8 tablet. The buttons on the right hand side emulate figure gestures, so you can view and understand how your own touches will affect the game.\u003c/p\u003e","title":"Adding touch controls for Windows 8"},{"content":"When building my Win8 port of Super Rawr-Type, I ran into all sorts of performance issues, due to lack of optimization. This was to be expected, as I on gave myself 1 month to complete the base game, then I would take the second and final month to port it to different platforms and worry about optimization.\nThe design of my levels is where most of my issues came from. I explain it pretty well in this post here. The gist of it is this: When the map loads, it is filled with ~150 enemies, which are constantly being updated. Obviously this comes with quite a bit of overhead. The browser version played well, but on a dedicated OS it chugs.\nRemoving all enemies I went back to the drawing board and redesigned the way I spawn enemies now. The first thing I did was remove all entities (enemies) from the level.\nI looked at a number of different ways for spawning enemies for shmup and bullet hell. Matt and Jason Doucette at Xona games do it in an interesting way for their upcoming title Duality-ZF: They store all of the enemies in an excel spreadsheet, which is then parsed by their game engine and appropriately draws the entities on screen.\nThen again, they are using C# and running on the Xbox, whereas I’m running JavaScript on a PC, so JSON may be a more appropriate format here, if I were to take this approach. I don’t even think the Xbox has a way of parsing JSON; I know that Visual Studio just adopted JSON.NET, so it’s doubtful that the 8 year old Xbox has the ability to do the same.\nCreating the Random Enemy Spawner I found that my best approach was to create an entity, Random Enemy Spawner which sits just off the right side of the screen, and is always aligned on the Y-axis with the player. For debug purposes, I threw in placeholder art which is a copy of the player’s ship, and had it sit on the edge of the screen so that I could see not only where my enemies spawn, but also how frequently.\nAs you can see here, the enemies and spawner are all aligned on the X-axis. This may appear as though the enemies come in flat waves, but to counter that I have them all spawning on a timer. Three timers, actually.\nI broke the enemy ships into three groups, and one example is illustrated below:\n/****************************************** * randomFromTo * Random number generator * Courtesy of Liza Shulyayeva\u0026#39;s flea project ******************************************/ randomFromTo: function (from, to) { return Math.floor(Math.random() * (to - from + 1) + from); }, /****************************************** * spawnEnemyGrpA * Spawns 1 of 2 types of enemies at random intervals ******************************************/ spawnEnemyGrpA: function () { // Resets random number var rndNum = null; // Rolls a random number rndNum = this.randomFromTo(1, 10); // Spawns enemies within the Y bounds of the screen this.randomSpawnLocY = this.randomFromTo(ig.system.height - 20, ig.system.height / 20); // determines which enemy type will spawn if (rndNum \u0026gt; 5){ ig.game.spawnEntity(EntityEnemyShip01, this.pos.x, this.randomSpawnLocY); } if (rndNum \u0026lt; 5){ ig.game.spawnEntity(EntityEnemyOrb, this.pos.x, this.randomSpawnLocY); } // Resets timer this.spawnTimerGrpA.reset(); }, I use spawnEnemyGrpB and C to spawn different types of enemies. They are set on timers like this:\n/****************************************** * init * Handles initialization ******************************************/ init: function (x, y, settings) { ... // Spawning timers for enemy ships this.spawnTimerGrpA = new ig.Timer(this.randomFromTo(3, 9)); this.spawnTimerGrpB = new ig.Timer(this.randomFromTo(3, 8)); this.spawnTimerGrpC = new ig.Timer(this.randomFromTo(4, 9)); } These timers are responsible for triggering enemy spawns at random times, which is what allows for a staggered appearance on screen.\nI’ve noticed an incredible performance improvement from this, although it has been tricky to balance the difficulty. What I really need to do is create a variable that affects how frequently enemies are spawned, and that variable will adjust based on the chosen difficulty level of the game. A higher difficulty will obviously spawn more enemies at once.\nThe EnemySpawner.js class can be found in its entirety on my GitHub.\n","permalink":"https://davevoyles.com/posts/creating-the-random-enemy-spawner-improving-performance/","summary":"\u003cp\u003eWhen building my Win8 port of \u003cem\u003eSuper Rawr-Type\u003c/em\u003e, I ran into all sorts of performance issues, due to lack of optimization. This was to be expected, as I on gave myself 1 month to complete the base game, then I would take the second and final month to port it to different platforms and worry about optimization.\u003c/p\u003e\n\u003cp\u003eThe design of my levels is where most of my issues came from. \u003ca href=\"http://davidvoyles.wordpress.com/2013/04/10/performance-improvements-and-porting-super-rawr-type-to-win8/\"\u003eI explain it pretty well in this post here.\u003c/a\u003e The gist of it is this: When the map loads, it is filled with ~150 enemies, which are constantly being updated. Obviously this comes with quite a bit of overhead. The browser version played well, but on a dedicated OS it chugs.\u003c/p\u003e","title":"Creating the random enemy spawner, improving performance"},{"content":"[UPDATE] Clarified that I have two classes for my bullet. One which uses pooling, and another that does not use pooling.\nSo my object pooling optimizations don’t seem to be working.\nI thought I would have seen some improvements in terms of my performance, but I’m just not seeing it. I think one issue is due to the fact that with more objects lying around, the garbage collector takes longer to run. Essentially, the pooling reduces how often the collector runs, but makes those runs more noticeable.\nThis is clear when viewing the debug screen within the game. Above, you’ll find a video that I recorded with my performance monitor running. The first clip illustrates the poor performance with pooling, and the second clip is without pooling, where I just instantiate the entities (bullets) and kill them as needed.\nYou can find my GitHub account here, and the applicable files here are for “bullet” and “pool“.\n","permalink":"https://davevoyles.com/posts/object-pooling-optimizations-not-so-much-yet/","summary":"\u003cp\u003e[UPDATE] Clarified that I have two classes for my bullet. One which uses pooling, and \u003ca href=\"https://github.com/DaveVoyles/SuperRawrType/blob/master/lib/game/entities/bulletNoPooling.js\"\u003eanother that does not use pooling\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eSo my object pooling optimizations don’t seem to be working.\u003c/p\u003e\n\u003cp\u003eI thought I would have seen some improvements in terms of my performance, but I’m just not seeing it. I think one issue is due to the fact that with more objects lying around, the garbage collector takes longer to run. Essentially, the pooling reduces how often the collector runs, but makes those runs more noticeable.\u003c/p\u003e","title":"Object pooling optimizations – not so much [yet]"},{"content":"So I’m quickly progressing in my newest game, Super Rawr-Typeand am just about to put the finishing touches on it. I’ve given myself one month (30 days) to work on this bad boy. GDC and PAX took up quite a bit of time recently, so I’ve got a few days left to go. It’s far from perfect, but it’ll do.\nNext month, I’ll focus on publishing to The Windows 8 and Windows Phone 8 Stores, as well as wrapping the code in the iOS wrapper.\nAs you can see here, I still need some optimization. I’ve got to get a grasp on object pooling so that I can correctly display my particles, in addition to such a large number of bullets and entities on screen at once.\nWhen played on my PC, it comes out nearly 100%, but I’ve noticed with the screen recording it begins to chug and the FPS drops incredibly low. Let’s see if I can resolve this issue in three days!\n","permalink":"https://davevoyles.com/posts/video-update-of-my-2d-shmup-using-the-javascript-framework-impact-js/","summary":"\u003cp\u003eSo I’m quickly progressing in my newest game, \u003cem\u003eSuper Rawr-Type\u003c/em\u003eand am just about to put the finishing touches on it. I’ve given myself one month (30 days) to work on this bad boy. GDC and PAX took up quite a bit of time recently, so I’ve got a few days left to go. It’s far from perfect, but it’ll do.\u003c/p\u003e\n\u003cp\u003eNext month, I’ll focus on publishing to The Windows 8 and Windows Phone 8 Stores, as well as wrapping the code in the iOS wrapper.\u003c/p\u003e","title":"Video update of my 2D shmup using the JavaScript framework Impact.js"},{"content":"My first book, UnrealScript Game Programming Cookbook has been published by Pakt Publishing today. It covers a variety of topics, from creating your own modular camera system, crafting AI, creating intelligent pathfinding for bots, and manipulating weapons.\nA free sample chapter is available as well, which covers creating a modular camera system, from beginning to end.\nIt’s available in a number of formats, including a physical copy, as well as Kindle and .pdf formats. You can find the book here, or also at Amazon.com here.\n","permalink":"https://davevoyles.com/posts/my-book-unrealscript-game-programming-cookbook-has-been-published/","summary":"\u003cp\u003eMy first book, \u003cem\u003e\u003ca href=\"http://www.packtpub.com/unrealscript-game-programming-cookbook/book#overview\"\u003eUnrealScript Game Programming Cookbook\u003c/a\u003e\u003c/em\u003e has been published by Pakt Publishing today. It covers a variety of topics, from creating your own modular camera system, crafting AI, creating intelligent pathfinding for bots, and manipulating weapons.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.packtpub.com/sites/default/files/9781849695565_Chapter_03.pdf?utm_source=packtpub\u0026amp;utm_medium=free\u0026amp;utm_campaign=pdf\"\u003eA free sample chapter is available as well,\u003c/a\u003e which covers creating a modular camera system, from beginning to end.\u003c/p\u003e\n\u003cp\u003eIt’s available in a number of formats, including a physical copy, as well as Kindle and .pdf formats. \u003ca href=\"http://www.packtpub.com/unrealscript-game-programming-cookbook/book#overview\"\u003eYou can find the book here\u003c/a\u003e, or also at \u003ca href=\"https://www.google.com/url?sa=t\u0026amp;rct=j\u0026amp;q=\u0026amp;esrc=s\u0026amp;source=web\u0026amp;cd=1\u0026amp;cad=rja\u0026amp;ved=0CDUQFjAA\u0026amp;url=http%3A%2F%2Fwww.amazon.com%2FUnrealScript-Game-Programming-Cookbook-ebook%2Fdp%2FB00BAOC2K6\u0026amp;ei=i9AoUYvHAofs9ASMzIGIAw\u0026amp;usg=AFQjCNGUOCn3Nbx9icBag8ulq18G92DzdA\u0026amp;sig2=568pFLYVavnucFPWGWcuQw\u0026amp;bvm=bv.42768644,d.eWU\"\u003eAmazon.com here.\u003c/a\u003e\u003c/p\u003e","title":"My book, UnrealScript Game Programming Cookbook has been published!"},{"content":"The most difficult part of this project thus far has been understanding the idea behind MVVM, or Model-View-View Model. Wikipedia defines it as:\n“MVVM facilitates a clear separation of the development of the graphical user interface (either as markup language or GUI code) from the development of the business logic or back end logic known as the model (also known as the data model to distinguish it from the view model). The view model of MVVM is a value converter, meaning that the view model is responsible for exposing the data objects from the model in such a way that those objects are easily managed and consumed”\n–Design Time Data– I’ve looked up a number of tutorials behind this, but it wasn’t until I ran into Iris Classon’s excellent tutorial on the subject when I finally grasped it.\nI used her example and wrote one of my own. With a solid understanding of one of the many ways to bind a model to a view model I was now ready to progress to the next step.\nI wrote a version of my app using her outline, which worked great for design time data. I could now make changes to the page layout and see the results in real time. Some designers prefer to work within Blend, but I found that for the most part manipulating the code within Visual Studio just seemd to work easier for me. Still, I would keep both apps open an switch back and forth between the two. Expression Blend certainly offers quite a bit of power over Visual Studio in terms of adding colors and detail to your page, which would otherwise prove difficult if relying only on code.\nThe design time data was written an ObeservableCollection of type AItems (alphabet items):\nObservableCollection\u0026lt;AItem\u0026gt; LoadFakeItems() { return new ObservableCollection\u0026lt;AItem\u0026gt; { new AItem {Name = \u0026#34;Apple\u0026#34;, Image = \u0026#34;/Assets/Apple.jpg\u0026#34;, Description = \u0026#34;This fruit is a delicious addition to your diet. Eating one each day keeps the doctor away!\u0026#34;}, new AItem {Name = \u0026#34;Banana\u0026#34;, Image = \u0026#34;/Assets/Banana.jpg\u0026#34;, Description = \u0026#34;Monkeys are known to eat this fruit, after they peel it, of course\u0026#34;}, new AItem {Name = \u0026#34;Carrot\u0026#34;, Image = \u0026#34;/Assets/Carrot.jpg\u0026#34;, Description = \u0026#34;This vegatable can help to improve your eye sight!\u0026#34;}, new AItem {Name = \u0026#34;Dog\u0026#34;, Image = \u0026#34;/Assets/Dog.jpg\u0026#34;, Description = \u0026#34;This four legged friend is also called \u0026#39;Man\u0026#39;s best friend\u0026#39;\u0026#34;} }; } This was loaded when the DesignTimeData page was initializsed, and stored as AItemsListView.\npublic ObservableCollection\u0026lt;AItem\u0026gt; AItemsListView { get; set; } public DesignTimeData() { AItemsListView = LoadFakeItems(); } –Binding through XAML– I’ve got my model done, but now I need a way to get the data on screen. At the top of my MainPage.Xaml page I added the following:\nxmlns:local=\u0026#34;clr-namespace:PhoneApp2\u0026#34; DataContext=\u0026#34;{Binding RelativeSource={RelativeSource Self}}\u0026#34; d:DataContext=\u0026#34;{Binding Source={d:DesignInstance Type=local:DesignTimeData, IsDesignTimeCreatable=True}}\u0026#34; mc:Ignorable=\u0026#34;d\u0026#34; This declares:\nThe namespace (It is imperative that you use “clr-” as the prefix, otherwise you’ll get an error!) The DataContext (this can also be done through the C# class with the code-behind, so MainPage.Xaml.CS in this example) Setting the DataContext to “d”, and telling it to be a DesignInstance Ignoring the design data if we are compiling the app Since I already had a rough outline of what my pages would look like by implementing design time data, it was now time to figure out how to implement my new-found understanding of data binding. I opened the DataBoundApp template and began to implement my own code. My modele only consists of three properties, all of which were strings: Name, ImageURI, and Description.\nThe Name is the word used to define that letter of the alphabet, such as Apple for A, as mentioned above. Image URI is the relative path for where the image corresponding to the Aitem would be stored, and finally the Description was brief synopsis on the object. I kept a friendly and childish tone when referring to the objects of course, and would use lines like “One a day keeps the doctor away!” when describing the apple.\n–The Content Panel– A content panel is where you’d place all of the content applicable to this particular page. Often this is the only thing that gets changed from page to page on apps, as you’d generally want to keep the header consistent across the entire life of the application.\n\u0026lt;!--ContentPanel - Grid defintions--\u0026gt; \u0026lt;Grid x:Name=\u0026#34;ContentPanel\u0026#34; Grid.Row=\u0026#34;1\u0026#34; Margin=\u0026#34;10,10,14,-10\u0026#34;\u0026gt; \u0026lt;Grid.ColumnDefinitions\u0026gt; \u0026lt;ColumnDefinition Width=\u0026#34;455\u0026#34;/\u0026gt; \u0026lt;ColumnDefinition Width=\u0026#34;3\u0026#34;/\u0026gt; \u0026lt;ColumnDefinition Width=\u0026#34;0*\u0026#34;/\u0026gt; \u0026lt;/Grid.ColumnDefinitions\u0026gt; \u0026lt;!--Data source, Images \u0026amp; Text--\u0026gt; \u0026lt;ListBox x:Name=\u0026#34;AlphaItemBox\u0026#34; ItemsSource=\u0026#34;{Binding AItemsListView}\u0026#34; Margin=\u0026#34;0,0,38,0\u0026#34; ScrollViewer.HorizontalScrollBarVisibility=\u0026#34;Visible\u0026#34; Padding=\u0026#34;0\u0026#34; VerticalContentAlignment=\u0026#34;Top\u0026#34; SelectionChanged=\u0026#34;AlphaItemBox_SelectionChanged\u0026#34;\u0026gt; \u0026lt;ListBox.ItemTemplate\u0026gt; \u0026lt;DataTemplate\u0026gt; \u0026lt;StackPanel Grid.Column=\u0026#34;1\u0026#34; VerticalAlignment=\u0026#34;Top\u0026#34; Margin=\u0026#34;10,0,0,0\u0026#34;\u0026gt; \u0026lt;TextBlock Text=\u0026#34;{Binding Name}\u0026#34; FontSize=\u0026#34;36\u0026#34;/\u0026gt; \u0026lt;Image Source=\u0026#34;{Binding Image}\u0026#34; Stretch=\u0026#34;UniformToFill\u0026#34; Width=\u0026#34;408\u0026#34; Tap=\u0026#34;Image_Tap_1\u0026#34;/\u0026gt; \u0026lt;/StackPanel\u0026gt; \u0026lt;/DataTemplate\u0026gt; \u0026lt;/ListBox.ItemTemplate\u0026gt; \u0026lt;/ListBox\u0026gt; \u0026lt;/Grid\u0026gt; Above, you’ll notice that I’ve set my ItemsSource in my AlphaBetItemBox to be bound to AItemsListView, which we created in our previous step. What this does is take all of the data we’ve created in that list, and display it on this template.Rather than write the same code 26 times (once for each letter of the alphabet), I can write it once and all of the objects on screen (The name of the object and imageURI) are each laid out in the same manner. That’s part of the beauty of databinding: I only have to write the code once!\nThe other attractive part of MVVM is that my data (model) is completely separate from my view (essentially, the UI) and I can easily swap these two things in and out, thereby making my code reusable and modular in most respects.\nThat’s all for now, as I didn’t want this to get too far in depth on the first tutorial, but I’ll have the second part up tomorrow, where I’ll also include the source code.\n–Additional Resources– http://www.chaitanyavenneti.com/topics/wp7-databound-app-intro/\nhttp://www.irisclasson.com/2013/02/03/a-simple-design-time-data-example-with-windows-store-applications-for-beginners/\nhttp://www.codeproject.com/Articles/100175/Model-View-ViewModel-MVVM-Explained\n","permalink":"https://davevoyles.com/posts/design-time-data-passing-data-across-pages-tutorial-wp8/","summary":"\u003cp\u003eThe most difficult part of this project thus far has been understanding the idea behind MVVM, or Model-View-View Model. Wikipedia defines it as:\u003c/p\u003e\n\u003cp\u003e“MVVM facilitates a clear separation of the development of the \u003ca href=\"http://en.wikipedia.org/wiki/Graphical_user_interface\" title=\"Graphical user interface\"\u003egraphical user interface\u003c/a\u003e (either as \u003ca href=\"http://en.wikipedia.org/wiki/Markup_language\" title=\"Markup language\"\u003emarkup language\u003c/a\u003e or GUI code) from the development of the \u003ca href=\"http://en.wikipedia.org/wiki/Business_logic\" title=\"Business logic\"\u003ebusiness logic\u003c/a\u003e or \u003ca href=\"http://en.wikipedia.org/wiki/Back_end\" title=\"Back end\"\u003eback end\u003c/a\u003e logic known as the model (also known as the data model to distinguish it from the view model). The view model of MVVM is a value converter, meaning that the view model is responsible for exposing the data objects from the model in such a way that those objects are easily managed and consumed”\u003c/p\u003e","title":"[Tutorial] Design Time Data + Passing Data Across Pages  (WP8)"},{"content":"\nEarlier today I completed the final chapter of my book The Advancaed UnealScript Programming Cookbook. The book covers a number of topics ranging from creating custom weapons, advanced AI for navigating tight paths and following pawns, drawing a HUD without the use of ScaleForm, and adjusting crosshairs based on the actor your pawn’s eyes are tracing.\nIt was an interesting experience, to say the least. Initially I wasn’t completely confident that I could complete the book within the restrictions of such a tight deadline (less than 3 months), especially when I hadn’t used the language or Unreal Development kit in almost a year. I had previously been focusing my efforts on C#, XNA, and Unity.\nThen Hurricane Sandy came and destroyed my home on Long Island. That certainly set me back a bit, but fortunately I’m surrounded\nby supportive people who made the experience far easier than it could have been. I’ve moved since then, but it did tie up a bit of my writing time. Along the way I’ve come to realized what I enjoy most about programming a game and what I like the least.\nWhat I enjoyed the least Doing any kind of HUD work is just not my forte. There is entirely too much math involved, you’re dealing with floating numbers, and having to compensate for 100 different resolutions out there. Grabbing properties from other classes (ie. weapon ammo, pawn health) makes things easy, but adjusting for the resolutions proved difficult. It’s something that I’d rather not have to do again.\nWhat I enjoyed the most Surprisingly, I found that creating AI and pathfinding for pawns was the most interesting aspect of the project. I really had much exposure to this previously, so I learned a lot along the way. The initial process was daunting, but once I understood a number of the classes the helpers the API provided, it became much easier.\nIt’s incredible to see the AI you’re writing come to life and interact with one another. Everything from the pawns running to a ledge, refusing to go over it, then turn around and run toward another set direction is a pretty neat thing to experience. Unreal make this easy through their use of events and states. Events are basically listeners in C#, so as a speciific events occurs, such as a pawn being hit, the engine calls the function within the event.\nStates allow me to use the same function over and over, but call a different version of said function. For example, if my pawn is attacking an enemy then its mesh could be set to red, to show anger, while if it was fleeing from an opponent the mesh could turn green. After working with Unreal’s heavy use of states, it would be difficult to go back to using anything else.\nConclusion That’s all I have to say about this for now, but I’m sure that I’ll have a more detailed postmortem as things conclude and the book is release. Look for it within the next 2-3 months, as it is in the editing and technical reviewing phase right now. It is being published by Pakt Publishing, and if you’d like to see similar titles, they offer quite a plethora of them on their site here.\n","permalink":"https://davevoyles.com/posts/the-final-chapter-of-my-book-on-unrealscript-programming-was-completed-today/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2012/12/556ot_07_08.png\"\u003e\u003cimg alt=\"UnrealScript HUD\" loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/12/556ot_07_08.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEarlier today I completed the final chapter of my book \u003cem\u003eThe Advancaed UnealScript Programming Cookbook\u003c/em\u003e. The book covers a number of topics ranging from creating custom weapons, advanced AI for navigating tight paths and following pawns, drawing a HUD without the use of \u003ca href=\"http://gameware.autodesk.com/scaleform\"\u003eScaleForm\u003c/a\u003e, and adjusting crosshairs based on the actor your pawn’s eyes are tracing.\u003c/p\u003e\n\u003cp\u003eIt was an interesting experience, to say the least. Initially I wasn’t completely confident that I could complete the book within the restrictions of such a tight deadline (less than 3 months), especially when I hadn’t used the language or Unreal Development kit in almost a year. I had previously been focusing my efforts on C#, XNA, and Unity.\u003c/p\u003e","title":"The final chapter of my book on UnrealScript Programming was completed today"},{"content":"\nSo it’s been a long time coming, but my first Xbox Live Indie Game, *Piz-ong,*finally appeared on Xbox Live this morning.\nIt took me a few attempts to get it through peer review, and it was always for something silly, like forgetting an “if”statement for the trial mode (which I later found out from James Silva that you don’t even need, as the game automatically prompts for the trial to tend after 7 minutes).\nThank you to everyone who has helped me along the way. XLIG had, and in many cases still does, have a vibrant and helpful community. What began as a project that I started on a whim through the ushering of George Clingerman and Michael Neel, turned into\na lesson in both C# and XNA.\nI’d love to list everyone on here who has helped, but it is far too extensive. Take a look back in my development blog to see in greater detail who has really stood out. Moreover, I’ve written down some lessons learned along the way too. Also, be sure to check out DJ Cutman (@DJCutman)’s website, as he did the great soundtrack.\nIs it the greatest game ever made? Perha….hell no. It’s a lesson in C# though, and I’ve learned quite a bit along the way. It’s extremely simple, and I wanted to start small before doing it all from scratch with everyone I’ve learned. I’m considering re-doing it and adding a ton of features in the future, as well as writing it all in MonoGame so that it is cross platform, but I’ll need a bit of time to get that one.\nYou can find Piz-ong on the XBLIG marketplace for 80 MSP ($1). Alternatively, you can purchase it directly from this link, which will be added to your Xbox Live account when you get home.\n","permalink":"https://davevoyles.com/posts/my-first-xblig-piz-ong-is-on-the-xbox-live-marketplace-this-morning/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/2012/10/22/my-first-xblig-piz-ong-is-on-the-xbox-live-marketplace-this-morning\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/10/pizong1.jpg\" title=\"Pizong1\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSo it’s been a long time coming, but my first Xbox Live Indie Game, *Piz-ong,*finally appeared on Xbox Live this morning.\u003c/p\u003e\n\u003cp\u003eIt took me a few attempts to get it through peer review, and it was always for something silly, like forgetting an “if”statement for the trial mode (which  I later found out from \u003ca href=\"http://www.twitter.com/jameszilla\"\u003eJames Silva\u003c/a\u003e that you don’t even need, as the game automatically prompts for the trial to tend after 7 minutes).\u003c/p\u003e","title":"My first XBLIG, Piz-ong, is on the Xbox Live Marketplace this morning!"},{"content":"\nI’ve decided to finally release my game.\nAnd by release, I mean submit it to playtesting, take some brief feedback, and then finally place it into peer review. Once it passes that it can be released on XBLIG. I’m doing this for a few reasons:\n1) Learning It’s nice to have feedback from other developers in terms of how the game plays and how to make corrections. It’s essentially a pong clone, so I wanted to start simple, as it serves as a way for me to learn both C# and XNA. In that regard it has done its job. I feel as though it’s run its course at the moment and that I can learn more from others developers and players than to continue on as I am.\nI’m not concerned with mechanics and performance at the moment, as much as I am with just getting it operational. I can always add more to it in the next iteration, which I play to start working on immediately after. The peer review system is where I can really learn, however.\nFrom peer review I can see whether or not all of the Xbox specific items are in place. Does it crash during a memory card pull? Does a Code 4 error appear at random? Can you log in using any gamepad from players 1-4? These are things which I can’t really test across all Xboxes as I only own the current model (my launch console and black premium one recently had a RROD).\n2) A bit of an ego bump Let’s not kid ourselves – it feels good to say that you have a game out. Besides, it’s mentally rewarding to see a product for others to enjoy (pick apart?) after staring at code for so long. For as much as it is a bump, it is also a slight hit. I’m not nearly as concerned with which features are implemented well, as I am with ones that are bad, and in particular why they are that way.\n3) Cash mahney I plan on mentally converting the dollars to MSP in my head, so that at the end of the quarter when it says I’ve made 4 sales at $1 a piece, it will really be like I have 4 x 80 MSP. That’s 320 MSP, I’ll be Scrooge McDuck rich and just swimming in MSP.\nThe aftermath The real reason I want to do this is so that I can finally get it out the door, and begin on fixing it from there. I’ve taken a few weeks off from coding just to brush up on C# and XNA by reading, watching, and learning. In doing so, I’ve discovered that there are a number of improvements that I can make to my own game, in terms of readability, reusability, and modularization.\nRather than tear my game apart without anything to really show for it, I figured I would release it before continuing to iterate. I have a powerup system, a working particle engine, and a number of other features, but those won’t all be working consistently, and most of all, efficiently, for some time.\nI’d like to go back to Pong with Cats with a new frame of mine and level of understanding that I previously didn’t hold when I first started this project. With that in mind, I’d really like to focus on the reusability and modularization of my classes in order to allow for future additions to be a more streamlined process.\nIf you have any tutorials, notes, or resources you’d like to throw my way, then please feel free to get in touch with me. I’d also love to hear about some of your experiences with your first game release, and what you took from it.\n","permalink":"https://davevoyles.com/posts/ive-decided-to-finally-release-my-game/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/2012/07/13/ive-decided-to-finally-release-my-game/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/07/pong.png\" title=\"Pong\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI’ve decided to finally release my game.\u003c/p\u003e\n\u003cp\u003eAnd by release, I mean submit it to playtesting, take some brief feedback, and then finally place it into peer review. Once it passes that it can be released on XBLIG.  I’m doing this for a few reasons:\u003c/p\u003e\n\u003ch4 id=\"1-learning\"\u003e1)  Learning\u003c/h4\u003e\n\u003cp\u003eIt’s nice to have feedback from other developers in terms of how the game plays and how to make corrections. It’s essentially a pong clone, so I wanted to start simple, as it serves as a way for me to learn both C# and XNA. In that regard it has done its job. I feel as though it’s run its course at the moment and that I can learn more from others developers and players than to continue on as I am.\u003c/p\u003e","title":"I’ve decided to finally release my game"},{"content":"\nJust placeholder art for now\nUpdate: I’ve found the thread where in the App Hub where I got the original idea for the powerups. It is now linked.\nThis is part 2 of my Dream.Build.Play journal, where I outline what it’s like to learn the technical side of XNA and C#. You can find my first part here.\nAs I mentioned in my previous posting, a few members of the XNA community have been key in helping me learn the ins and outs along the way. I was looking for a framework to build my game on top of, and in doing so I came across a few which caught my attention, but Oneksoft’s Basic Starter Kit really had a lot of features that I was looking for. He frequently updates it, which gives you an added incentive to check out the page often as well. Essentially it is a combination of items from developers within the community, all of which are designed to make the experience of a novice developer easier.\nThings such as Game State Management, Nick Gravelyn’s Easy Storage, George Clingerman’s basic sprite animation, and customizable HUD components are just a few of the included features. It’s really worth a glance if you are new to developing with XNA.\nUnfortunately, when I first tried implemented my game within the system I was still too much of a novice to understand how it all works together. I struggled for a week or two before deciding to remove it and start from scratch again, but this time only add features as needed. I’m still in a bit of a deadline to get my game completed before Dream.Build.Play , so it will have minimal features, but I can always add the additional features I wanted to initially have after the fact. It’s amazing what only a few weeks or reading and working can do, because I now understand most of it very clearly.\nI have a working health bar implemented, courtesy of George Clingerman’s Not So Healthy tutorial. Originally my pong game was using a point system to keep score, and after one side scored 5 times the game was over, but I wanted to add some variety to that, as well as some other ideas which could both be implemented in a brief period and would really allow me to learn another aspect of C#. Therefore I switched to using a health bar, and even implemented a powerup system!\nPowerups – More work than I initially bargained for The powerup system is similar to that of Mario Kart’s, wherein players hit a button to receive a random powerup which can be stored for later use. I have the animations in place for this as well, but I will explain that in the next tutorial. I found a thread in the app hub for setting up powerups (which I can’t find at the moment), now found here, but ultimately ran into some difficulties when doing it on my own. I understood what the developer in the forum was trying to do, in that he created one powerupclass which all other powerups would extend from, but I wasn’t sure of how to roll them randomly, or actually implement it into my game.\nJim Perry, an XNA MVP, has been one of the most helpful and patient people involved in my learning process. Always quick to answer one of my forum posts, he has been a great help with implementing these powerups. He suggested setting them up as events, which was (and very much still is) a completely new concept to me. I’m learning quite a bit though, so even If I don’t get them working in that manner it was still worth it in the end. My issue at this point is that I have my powerups working, but it is selecting a bunch of them at random, rather than one at a time. I’d like to have that resolved by the next post or two. I use that the issue stems from failing to unsubscribe to the powerups after they have been rolled at random.\nFor the most part, the ones I wanted working do work fine, granted at the same time. My bat grows 2x the original size, my opponent shrinks ½ size, I have a health powerup in place, as well as regenerative health, which recovers 2hp/ / tick, over a 10 tick period. I did that because I wanted to add excitement to the game as players were nearing the end, selected regen, and hoped that it would fully recover their hp before their opponent scored again.\nAdditionally, I have a powerup to triple the speed of the ball, as well as one which causes the ball to split into 3 when hit. I’d like to adjust that one though, so that it cannot damage the player whose powerup caused that to happen. You’ll see in the screenshots that I still have a few debug features in place, such as the text on screen telling me when a powerup as been activated. I still can’t figure out how to get a log on the screen, such as the way I do in the Unreal Engine, so that it notifies me of each key press and what is happening each tick.\nAdding some turbo to add some excitement With the understanding that pong is a relatively boring game, I wanted to increase the speed of it somewhat, as well as include a bit of anxiety. Therefore I’ve included a turbo button that allows the player to make a last-moment save and quickly maneuver their paddle across the screen. The catch though is that it only lasts for 2 seconds, is extremely fast, and has a 5 second cooldown. I didn’t want to include a cooldown bar because I always want players to track in the back of their mind the last time they pressed the turbo key. The focus here was to have them constantly worrying if their cooldown was finished so that they wouldn’t always be able to rely on that save.\nDaniel Frandsen helped me get that into place one evening, so I’d like to thank him for that.\nIn my next post I plan on covering how I implemented a HUD, learned how to animate the powerups as they randomly roll (Ex: Mario Kart style), and added controller support. Perhaps next week?\n","permalink":"https://davevoyles.com/posts/dream-build-play-dev-diary-2/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/2012/05/01/dream-build-play-dev-diary-2/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/05/pong-2012-05-01-06-24-14-40.jpg\" title=\"Pong 2012-05-01 06-24-14-40\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJust placeholder art for now\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eUpdate:\u003c/strong\u003e I’ve found the thread where in the App Hub where I got the original idea for the powerups. It is now linked.\u003c/p\u003e\n\u003cp\u003eThis is part 2 of my Dream.Build.Play journal, where I outline what it’s like to learn the technical side of XNA and C#. You can find my \u003ca href=\"http://davidvoyles.wordpress.com/2012/04/19/dream-build-play-dev-diary-1/\"\u003efirst part here.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAs I mentioned in my previous posting, a few members of the XNA community have been key in helping me learn the ins and outs along the way. I was looking for a framework to build my game on top of, and in doing so I came across a few which caught my attention, but Oneksoft’s \u003ca href=\"http://oneksoftlabs.com/kit/\"\u003eBasic Starter Kit\u003c/a\u003e really had a lot of features that I was looking for. He frequently updates it, which gives you an added incentive to check out the page often as well. Essentially it is a combination of items from developers within the community, all of which are designed to make the experience of a novice developer easier.\u003c/p\u003e","title":"Dream.Build.Play dev diary 2"},{"content":"\nI want to chronicle what it’s like to learn how to program. It has always been something that has interested me, and I’m impressed by people who can program. In the game development world programmers are the ones who hold the key to success. A game may be aesthetically pleasing or engross players in a beautiful soundtrack, but those who control how the game actually feels and how it all comes together are the programmers.\nFurthermore, I found it intimidating to begin a journey down the path of programming. When I first went back to school for my masters I was doing my MBA, while simultaneously doing another masters in Computer Science. My undergraduate work was in Communications and Advertising, and the fact that I am completely inept in the field of math wasn’t helping out my cause for learning C-sci. I dropped the work in Computer Science after only one semester as I couldn’t handle the math.\nFlash forward a few years, and I’m dabbling in game dev as a hobbyist, and started with the Unreal Engine as it was the first thing that caught my eye at my first GDC in 2010. Learning this engine also allowed me to learn a plethora of other tools, including 3DS Max and Maya for modeling, Photoshop for 2D art, and Visual Studio for Unreal’s own programming language, UnrealScript. To further my skills, I figured I would take something I know best from my childhood, and get a current day prototype running, so I started to remake Mega Man 2 using the Unreal Development Kit.\nWith most of my art assets done, and a solid understanding of the engine, I knew that my time to learn programming would soon be approaching. I already had some understanding of the language, having worked on two other projects with development teams earlier, but not enough to create a game on my own. Besides, Uscript was a combination of C++ and Java, while XNA uses C#. While they are similar in some ways, it would still take me time to adjust to this change.\nWith the understanding that I would need to learn programming at some point in the near future I figured that Dream.Build.Play would be the perfect catalyst to move me along. It was really a conversation between George Clingerman , Michael Neel , and myself which got me started. By George’s gentle nudge, I entered DBP and told myself that I would have something done in the next 10 weeks, despite how simple it was. Ian Stocker had suggested starting with pong to learn the basics, so I did just that.\nMy first steps On a Saturday evening I scoured the internet in search for pong tutorials, and went through several so that I could understand the key differences between then, and see which worked best for my needs. I settled on this one from Ross Warren, and it’s worked out great for me. For the most part he clearly identifies what he is doing throughout the entire process, and as someone completely new to XNA this kind of babying was certainly welcome.\nIn addition, I found James Silva’s XNA 2.0 Book to be very useful, despite being somewhat outdated. He also has a pong tutorial, along with source code which came in handy, but his version of Pong was far different in that it generally relied on only one class, where Ross’ used many. Further adding to the complication was the fact that I was now using XNA 4.0, and much of the 2.0 code would need to be changed. Again, this forced me to delve deeper in to the code and allow me to understand some of the differences between the previous versions of XNA.\nSoon after I had my Pong game moving along I realized that I would need to improve my C# and XNA skills before I could really make the additions to the game that I was looking for. I decided to take a week or two off from programming and just read and arm myself with as much of an education myself as much as I could.\nI ran to Amazon and grabbed all of the books that I could. XNA 4.0 Game Development was very useful in that it had a number of templates for pre-built games, and despite it being for Visual Basic and not C# (an addition to 4.0) I still learned quite a bit. Microsoft XNA Game Studio 3.0 Unleashed was informative as well, and they also included a few templates for use within games, such as loading bars and how to implement animations.\nWhat I found to be more useful by far however was Rob Miles’ C# Yellow Book. Not only was it an easy read for a novice, but he provided all of the material as though it were spoken through a casual conversation. I can’t recommend it enough for anyone learning C#.\nArmed with my new found knowledge, I felt it was time to begin tweaking the game how I saw it to be fit. I played with the various properties of the ball and bats until they felt right, such as altering the speeds and sizes. Last week I decided to replace the score with a health bar, thereby creating more of a dynamic and interactive challenge as the health bar can be raised and lowered.\nMore next week This is all I’ve really got time to write about at the moment. Next week I’ll detail more of my code and explain how I’m going about doing things. I’ll also highlight some of the people who have really helped me out along the way and deserve the recognition for doing so.\nYou can follow along with my progress, as well as that of many other DBP entries at the XNALastDance.com page, as set up by Michael Neel. It’s a great place to get some motivation whenever you get bogged down by lack of progress!\n","permalink":"https://davevoyles.com/posts/dream-build-play-dev-diary-1/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2012/04/dreambuildplay2012.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/04/dreambuildplay2012.png\" title=\"dreambuildplay2012\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI want to chronicle what it’s like to learn how to program. It has always been something that has interested me, and I’m impressed by people who can program. In the game development world programmers are the ones who hold the key to success. A game may be aesthetically pleasing or engross players in a beautiful soundtrack, but those who control how the game actually feels and how it all comes together are the programmers.\u003c/p\u003e","title":"Dream.Build.Play dev diary 1"},{"content":"\nThis weekend I had the pleasure of working with a great bunch of guys to put together a fun party style game for the first “What Would Molydeux?” game jam. It was my first game jam, but a great one nonetheless. I wasn’t sure of what to expect, but in the end I things turned out great. I had a chance to meet up with some great people, collaborate on a new project, and learn quite a bit along the way.\nWe wound up using Unity for our project, as our lead programmer had a bit of experience with it. This worked out great for all of us, as it was pretty easy to get set up, and offered something for everyone, in terms of usability. Those who prefer to code in C# could do so, and the same goes with JavaScript. For example, nearly all of our game was done in C# by the other programmers, and I did the menu and GUI in JavasScript.\nI also took care of the background art, those flashing numbers before each game, and the silly voice work. Hey, everyone enjoys a good Unreal Tournament reference every now and again, right?\nYou find find the file here, on the Molyjam submission site, which will also offer more information. Simply download it, plug in your Xbox controller, and get started. It’s made for 1-4 players, but you will NEED an Xbox remote to play.\n","permalink":"https://davevoyles.com/posts/the-molyjam-title-i-worked-on-is-out-now/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2012/04/molyjam.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/04/molyjam.png\" title=\"Molyjam\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis weekend I had the pleasure of working with a great bunch of guys to put together a fun party style game for the first “\u003ca href=\"http://www.whatwouldmolydeux.com/index.php\"\u003eWhat Would Molydeux\u003c/a\u003e?” game jam. It was my first game jam, but a great one nonetheless. I wasn’t sure of what to expect, but in the end I things turned out great. I had a chance to meet up with some great people, collaborate on a new project, and learn quite a bit along the way.\u003c/p\u003e","title":"The Molyjam title I worked on is out now!"},{"content":"A Microsoft representative informed me today that they will be hosting a brief party for all XNA / XBLIG members and fans of the community, similar to last year’s outing. It will occur on Thursday, March 8, from 5-7 pm at the Microsoft Lobby Bar. It’s on the first floor of the North Hall, so you can’t miss it when you walk into GDC. Additionally, the Dream.Build.Play booth will be there too, so it looks like we’ll be able to get our hands on some of those titles and finally speak with the developers in person.\nDetails will be updated on the XNA blog and their Facebook page the week leading up to the event. Until then, spread the good word.\n","permalink":"https://davevoyles.com/posts/microsoft-to-host-xblig-xna-meetup-at-dbp-booth-thursday-march-8th-5-7pm/","summary":"\u003cp\u003eA Microsoft representative informed me today that they will be hosting a brief party for all XNA / XBLIG members and fans of the community, similar to last year’s outing. It will occur on Thursday, March 8, from 5-7 pm at the Microsoft Lobby Bar. It’s on the first floor of the North Hall, so you can’t miss it when you walk into GDC. Additionally, the Dream.Build.Play booth will be there too, so it looks like we’ll be able to get our hands on some of those titles and finally speak with the developers in person.\u003c/p\u003e","title":"Microsoft to host XBLIG / XNA meetup at DBP booth, Thursday March 8th, 5-7pm"},{"content":"You can find the first video here. How I put this together is illustrated in the second development diary as well. The noticeable changes I’ve made in this version include:\nA post processing volume with:\nDepth of Field – I have it focused on the pawn, and it gradually decreases as the distance extends radially. It’s subtle, but I didn’t want it to be distracting. It offers the sense that everything is slightly dulled with the water in your eyes.\nMotion Blur – again, very subtle, but I think it does well to lend the effect of being under water.\nAdjusted Scene Highlights/Midtones/Shadows – I did this to reflect the sense of being cold beneath the water, therefore there is a subtle blue hue touching everything.\nI’ve also moved the water from the background of the scene to the foreground. Initially I believed it would be distracting, but I turned down the wave effect quite a bit and made some adjustments to the material, including removing the specular map, and am finally satisfied with the effect.\n","permalink":"https://davevoyles.com/posts/mega-man-prototype-video-2-is-out/","summary":"\u003cp\u003eYou can find \u003ca href=\"http://davidvoyles.wordpress.com/2012/02/06/first-bubble-man-prototype-video-is-up/\"\u003ethe first video here.\u003c/a\u003e  How I put this together is illustrated in \u003ca href=\"http://davidvoyles.wordpress.com/2012/02/11/mega-man-dev-diary-vol-2/\"\u003ethe second development diar\u003c/a\u003ey as well. The noticeable changes I’ve made in this version include:\u003c/p\u003e\n\u003cp\u003eA post processing volume with:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eDepth of Field – I have it focused on the pawn, and it gradually decreases as the distance extends radially. It’s subtle, but I didn’t want it to be distracting. It offers the sense that everything is slightly dulled with the water in your eyes.\u003c/p\u003e","title":"Mega Man Prototype Video 2 Is Out"},{"content":"Wow, I’ve been writing like a mad man on here for the past two weeks! Anyway, here’s the first video I’ve posted for my Mega Man prototype. It’s half way through Bubble Man’s stage, and begins just after you drop into the water. The physics are way off, and I haven’t altered the values for gravity or friction just yet, so that certainly could use some work.\nIn Mega Man 2, Rock can jump 75% of the screen when beneath water, so I’ll add a physics volume just for that area. I also plan on updating the dev diary later this week too.\nLet me know what you think!\n","permalink":"https://davevoyles.com/posts/first-bubble-man-prototype-video-is-up/","summary":"\u003cp\u003eWow, I’ve been writing like a mad man on here for the past two weeks! Anyway, here’s the first video I’ve posted for my Mega Man prototype. It’s half way through Bubble Man’s stage, and begins just after you drop into the water. The physics are way off, and I haven’t altered the values for gravity or friction just yet, so that certainly could use some work.\u003c/p\u003e\n\u003cp\u003eIn Mega Man 2, Rock can jump 75% of the screen when beneath water, so I’ll add a physics volume just for that area. I also plan on updating the dev diary later this week too.\u003c/p\u003e","title":"First Bubble Man prototype video is up!"},{"content":"\n**Update:**If you have GDC Vault access you can now watch the video.\nGDC has just released the schedules for this year’s show, which is set to go exactly one month from now. My speech for the Indie Games Summer Uprising will be on Friday, at 2:30pm in Room 2002.\nAre you headed to GDC this year? Drop me a line and let me know, I’d love to catch up!\n","permalink":"https://davevoyles.com/posts/my-gdc-speech-is-on-friday-at-230pm-room-2002/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/2012/02/03/my-gdc-speech-is-on-friday-at-230pm-room-2002/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/02/gdc12_speaking_arrangement.jpg\" title=\"GDC12_Speaking_Arrangement\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e**Update:**If you have GDC Vault access you can \u003ca href=\"http://www.gdcvault.com/play/1015678/Marketing-for-Indies-The-Indie\"\u003enow watch the video\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eGDC has just released the schedules for this year’s show, which is set to go exactly one month from now. My speech for the Indie Games Summer Uprising will be on \u003ca href=\"http://schedule.gdconf.com/session/6760/Marketing_for_Indies%3A_The_Indie_Games_Summer_Uprising\"\u003eFriday,  at 2:30pm in Room 2002.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAre you headed to GDC this year? Drop me a line and let me know, I’d love to catch up!\u003c/p\u003e","title":"My GDC Speech Is On Friday,  At 2:30pm, Room 2002"},{"content":"\nSome of the environment art for Bubble Man\u0026rsquo;s stage\nInspired by Ben Kane’s excellent The Great Porting Adventure series where he illustrates the life of a full time independent developer porting an XBLIG title to other platforms, I’ve decided to keep a development diary of my own. Oh what’s that, you haven’t taken a gander at his? Well if you’re looking for the inside scoops from someone who actually knows what he’s doing, and has released games before, then it’s probably the place to be. If you’d rather see the comically sad experience of a first time developer as he makes every mistake though, then this is probably the place to be.\nI maintain a full time job, and do development on the side, in a poor excuse of an attempt to gradually transition towards a career, regardless of how messy it gets along the way. I plan on updating this frequently, perhaps once or twice each week, and jotting down every embarrassingly simple mistake. I knew nothing about making games two year ago however, so at least I’ve made some progress.\nAt the moment, I’m remaking Bubble Man’s stage from one of my favorite games of all time, Mega Man 2. Obviously I can’t sell this product since I don’t own the IP, but I felt it was an excellent way to learn the ins-and-outs of development, and a large part of what I’m doing will be used as the prototype for my own game, once I complete this. Therefore, none of my time or experiences are really wasted, as I can always reuse many of the assets (animations, environment art, programming, UI), while making one time use of others (SFX, music, characters).\nIdeally, I’d love to have this Mega Man project finished by August, but we’ll see how that goes. At the moment I’m finishing up most of the art work, while running into a number of problems along the way. Fortunately I’ve been able to resolve all of them, but not without wasting quite a bit of time. Hopefully you’ll be able to take a few lessons from this and be able to apply it to your own tool belt of knowledge. If you find that I’m doing something in an odd way, or could be doing it more efficiently, then please feel free to get in touch with me – every bit helps!\nSo with that out of the way, let’s jump in! Click through to see the first part of my story.\nI’ve done the camera work and blocked out the entire stage using BSP in UDK already, so lately I’ve been working on the environment art, and plan to drop it in place in the near future. The hardest part of that was learning a 3D modeling program. For some reason I started with 3DS MAX, and just stayed with that, although looking back it seems that Maya would have been a wiser decision, for a number of reasons. I have Maya as well, but found it difficult to make the transition from one program to the other, especially after getting so accustomed to the shortcuts and tool locations/names. Fortunately, the 2012 release of MAX has implemented huge improvements over its predecessors, so I can do away with quite a few plugins. One of which was TexTools, which I found to be extremely useful for laying out UVs and then painting in Photoshop. The UV interface and tools for MAX were a huge improvement, but I’d still like to see even simple features, such as the stacking of identical UVs included, as I find myself requiring that on almost a daily basis. Regardless, I still have TexTools installed for a few of its features and Photoshop-like interface.\nTexTools - a pretty invaluable tool\nI’ve also been trying to optimize my workflow along the way, as well as require as little gpu overhead as possible to run the game, because I’d love to be able to port it to mobile devices at some point. Therefore, I’ve placed all of my environment art for this stage on one 2048×2048 texture sheet to reduce the number of draw calls required. I’ve been using .png, with the diffuse and occlusion maps baked onto one sheet, then specular and bump maps on their own sheets. Each corner of the sheet is dedicated to a 1024×1024 texture which I generally use for a number of static meshes. To create all of these sheets I’ve been using the excellent program CrazyBump, which is affordable and greatly decreases the time required to make each map separately, as well as negate my need to model everything as high poly. This is doable, but time consuming.\nIt took me forever to figure out how to quickly layout UVs, but with the help of a few guys (@ScottTykoski \u0026amp; @FirebaseIND) I was able to get the hang of it. The fact that I viewed nearly every tutorial on YouTube may have contributed to that as well. In addition, I stumbled across the site DigitalTutors.com and found that to be by far the greatest resource of knowledge for 3D, animation, or gaming applications. Initially I signed up for 1 one month membership at $50, and instantly found it to be work every penny, so once that expired I continued with a 6 month membership. If you’re new to development, or even want to hone your skills then I’d highly suggest you check it out.\nThe texture sheet of trouble\nWhen importing the environment art I ran into issue after issue. The September build of UDK allows for importing from a 3D application using .FBX, which keeps the materials intact and brings them all over in one shot, in addition to generating a material based on the textures you use on the mesh in MAX. Previously, I had to import models as an ASCII, then each of the textures, then create the material in UDK and apply it to the static mesh: A monotonous and time consuming venture, to say the least.\nUpgrading to the latest version of UDK (December ’11), I then began to import my meshes. The problem I was running into though involved my normal maps. They weren’t displaying correctly for some reason. On some models the normal maps weren’t coming out strong, and on others it looked as though my materials were applied backwards. I thought it could have been inverted normals, so I used the Photostop normal map plugin made by Nvidia to invert the Y, but to no avail. I resolved this by selecting “2-sided” within the material properties within MAX. There is also a way to force 2-sided within UDK, but I didn’t want to select that for each model, so I just took care of it in the 3D editing program.\nI troubleshot for hours, before finally coming to the conclusion that I was using the wrong compression settings for my normal map. I also tried multiplying a constant and the normal map in UDK to increase the effect of the bump, but that didn’t do the trick either. I did discover though that by using a Constant3Vector and increasing the value in the G layer I could increase the strength of the normal map, but only after I got it working in the first place.\nBy importing the normal map on its own, I was able to select “Normal Map No Compression” which obviously costs a bit in terms of performance, but the visual results were well worth it. Previously the map was nearly unseen.\nWith that behind me, issues arose when importing two static meshes of white and green piping used on the level. They took me a while to make, as it is essentially a square with a hose in the center, but when I intersected the piping at the corners it came out horribly. I decided it was best to slice along the poly, intersect the pipes, and then weld the vertices. This turned out to look fine when rendered, but underneath it all it was a mess.\nWhen importing, it would constantly bring in new textures into UDK, and create another material which looked identical to the others. I couldn’t figure out why it kept making this new material though, as I used the same textures for all of my models in MAX. From within the static meshes properties I could not apply the original material in UDK which worked fine on every other mesh, as it would give me an error. I could however; drag the unpainted mesh into my scene and drop the material right on top of it and it would apply perfectly. Odd, no?\nIt was only after some forum lurking did I find that the problem was stemming from a bad model. When exporting from MAX I would receive the error “There are turned edges on this editable poly, It will be converted to a mesh instead,” which I commonly discarded. I discovered the STL Check modifier in said forum, and quickly discovered it to be an invaluable tool. When applied to an editable poly it will determine if there are any errors, such as vertices which aren’t welded together. With this applied I determined I was just better off starting from scratch and making a new static mesh.\nSo that’s my story so far! Feel free to leave some comments let me know how bad I’m butchering this thing.\n","permalink":"https://davevoyles.com/posts/mega-man-2-dev-diary-vol-1/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2012/01/sss_mm2_ea.jpg\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/01/sss_mm2_ea.jpg\" title=\"SSS_MM2_EA\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSome of the environment art for Bubble Man\u0026rsquo;s stage\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eInspired by Ben Kane’s excellent \u003cem\u003e\u003ca href=\"http://benkane.wordpress.com/\"\u003eThe Great Porting Adventure\u003c/a\u003e\u003c/em\u003e series where he illustrates the life of a full time independent developer porting an XBLIG title to other platforms, I’ve decided to keep a development diary of my own. Oh what’s that, you haven’t taken a gander at his? Well if you’re looking for the inside scoops from someone who actually knows what he’s doing, and has released games before, then it’s probably the place to be. If you’d rather see the comically sad experience of a first time developer as he makes every mistake though, then this is probably the place to be.\u003c/strong\u003e\u003c/p\u003e","title":"Mega Man 2 Dev Diary: Vol 1"},{"content":"\nIf you’re headed to GDC in March I’d love to catch up with you. I’m hoping that Microsoft has some sort of XNA meetup again, but if they don’t then I’m sure we can come up with our own. Last year it was at the Microsoft booth at the entrance of the main hall.\nThe time or location for the speech hasn’t been announced yet, but it will be 60 minutes, and discuss the ins-and-outs of the Uprising. Anyway, here’s the blurb from Gamasutra:\n” In today’s final new talk, writer and Xbox Live Indie Games expert\nDave Voyles will host “Marketing for Indies: The Indie Games Summer Uprising.” Voyles is one of the co-coordinators of this independent promotional movement, and in his talk he will demonstrate how more than 70 XBLIG teams planned and executed a successful marketing campaign, providing insight to indie devs who hope to get more exposure for their upcoming projects.”\n","permalink":"https://davevoyles.com/posts/my-summer-uprising-speech-at-gdc-2012-will-be-part-of-the-business-marketing-management-track/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/2012/01/12/my-summer-uprising-speech-at-gdc-2012-will-be-part-of-the-business-marketing-management-track/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2012/01/gdc2012.jpg\" title=\"GDC2012\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIf you’re headed to GDC in March I’d love to catch up with you. I’m hoping that Microsoft has some sort of XNA meetup again, but if they don’t then I’m sure we can come up with our own. Last year it was at the Microsoft booth at the entrance of the main hall.\u003c/p\u003e\n\u003cp\u003eThe time or location for the speech hasn’t been announced yet, but it will be 60 minutes, and discuss the ins-and-outs of the Uprising. Anyway, here’s the blurb from \u003ca href=\"http://www.gamasutra.com/view/news/39598/GDC_2012_details_highlights_for_Production_Business_tracks.php\"\u003eGamasutra:\u003c/a\u003e\u003c/p\u003e","title":"My Summer Uprising speech at GDC 2012 will be part of the Business, Marketing, \u0026 Management track"},{"content":"I haven’t updated my blog in a while, so I figured it was time I put some work up here. I’m still working on the Mega Man 2 project, more specifically, creating the models for the enemies on the stage. It’s all blocked out at this point, and much of the environment art is in place.\nUntil I have more to post on that, enjoy the vehicle camera test I created when working on a project similar to Soviet Strike during the PSX era. I found out the hard way that vehicles and pawns adhere to two completely different camera systems in the engine. Vehicles it seems, require a camera per seat, whereas pawns use one camera, and one camera only. Enjoy, and let me know what you think!\n","permalink":"https://davevoyles.com/posts/new-udk-vehicle-camera-tests-posted/","summary":"\u003cp\u003eI haven’t updated my blog in a while, so I figured it was time I put some work up here.  I’m still working on the Mega Man 2 project, more specifically, creating the models for the enemies on the stage. It’s all blocked out at this point, and much of the environment art is in place.\u003c/p\u003e\n\u003cp\u003eUntil I have more to post on that, enjoy the vehicle camera test I created when working on a project similar to Soviet Strike during the PSX era. I found out the hard way that vehicles and pawns adhere to two completely different camera systems in the engine. Vehicles it seems, require a camera per seat, whereas pawns use one camera, and one camera only. Enjoy, and let me know what you think!\u003c/p\u003e","title":"New UDK vehicle camera tests posted"},{"content":"\nIf you missed this summer Xbox Live Indie Games Summer Uprising, it’s not too late to catch up on everything that happened. It’s cool, I wrote a 5 page article which can be found in the November issue of Game Developer Magazine, so you can see everything you missed. I’m sure you’ve seen it because you already subscribe, right? If you don’t that’s alright too, because you can buy individual issues as well.\nAnyway, take a gander and let me know what you think. Also, if you’re headed to GDC be sure to check out the 60 minute post-mortem I’m putting together there too.\n","permalink":"https://davevoyles.com/posts/indie-games-summer-uprising-has-a-7-page-spread-in-nov-2011-issue-of-game-developer-magazine/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/11/igsu-game-dev-mag-1.gif\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/11/igsu-game-dev-mag-1.gif\" title=\"IGSU-Game-Dev-Mag-1\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIf you missed this summer Xbox Live Indie Games Summer Uprising, it’s not too late to catch up on everything that happened. It’s cool, I wrote a 5 page article which can be found in the November issue of Game Developer Magazine, so you can see everything you missed. I’m sure you’ve seen it because \u003ca href=\"http://www.gdmag.com/subscribe/\"\u003eyou already subscribe\u003c/a\u003e, right? If you don’t that’s alright too, because you can buy individual issues as well.\u003c/p\u003e","title":"Indie Games Summer Uprising has a 5 page spread in Nov. 2011 issue of Game Developer Magazine"},{"content":"\nThis article reflects my thoughts, and not necessarily those of the other team members for the Indie Games Summer Uprising.\nEDIT: I’ve added the section “6. The Dashboard”, an intro, as well as numerous grammatical corrections throughout.\nSince its inception, the Xbox Live Indie Games have been considered the red-deaded stepchild of Microsoft’s internet based LIVE platform. Hidden beneath layers of menus and triple-A titles, sales and promotions have never been outstanding for developers, unless you manage to earn a spot on the highly coveted “Top Downloads” section.\nWith that said, in the winter of 2010, a group of XBLIG developers banded together to create the community’s first grassroots marketing campaign. Sales were mixed, but along the way quite a bit was learned about the community, and awareness was increased for the platform as a whole. Recently, a new group of XBLIG developers have banded together for a similar campaign. This time our goals included promoting the platform, while showcasing the diversity, talent, and potential of the development teams. Collectively, we’ve learned a lot from the promotion, and most importantly, come to understand that with the right people in place and an important message which everyone can relate to, that any group of developers can see similar success.\nI’m grateful that the Xbox LIVE Indie Game community would grant fellow coordinator Kris Steele and I the opportunity to build a team who would ultimately promote their studios and titles. Since I first became active in the community, around March of 2010, I knew that there was a plethora of talent available, and it was only a matter of time before gamers were made aware. The Summer Uprising came about from the embers of the Winter Uprising, which was a similar campaign held in the winter of 2010 by a number of XBLIG developers.\nIn March of this year, conversation had started on Microsoft’s App Hub (XNA) forums to get this campaign going again, but it never seemed to go anywhere. Around May, Kris, a member of the previous Uprising, resurrected the thread and began to light the fire once more. Together, we naturally fell into the role of organizers for the campaign and started to lay the groundwork. After 3 months of work we had 10 titles selected from a pool of over 70. The XBLIG developers would choose eight, while the gaming community, as a whole, would vote the remaining two titles on. These games would be released over a two-week stretch, at the tail end of the summer.\nWe tried to make the selection process as democratic as possible. Working off the feedback from the App Hub, Kris and I managed to get Scott Nicols of GayGamer.net and Ryan Donnelly of VVGtV.com to serve as panel of judges who would narrow down the selection of 70+ titles to 25. This proved to be more of a manageable number for the IGSU developers to vote on who should be in the top 8. Independently, we rated each title on a 1-3 scale, essentially based on their marketing material. Gameplay videos, screenshots, and how far along they were in the development process were all taken into consideration. Any titles which we each gave a 1 were automatically granted a spot in the top 25. This quickly filled up 13 slots. Titles which received a 2 could go either way, while those we graded a 3 would require a judge to really make an argument for why it should be included. Needless to say, it was the least entertaining event of the IGSU.\nWhat went right 1. Marketing and Buzz One of our goals of this promotion was to generate as much support as we possibly could for the XBLIG community and XNA developers. I firmly believe we accomplished this goal, as we presented the community in a positive light by showcasing the quality and variety of games the XNA toolset was capable of, especially when used in the hands of capable developers. Some of the industry’s largest blogs picked up on the Uprising, even at its inception, including Game Informer, Kotaku, Joystiq, and IGN.\nThe word spread like wildfire, even when we didn’t intend for it to! The first pseudo press release I sent out was really more of a document to developers, where we asked them to contact Kris and myself in order to gauge interest for the promotion. Within a few hours a number of news outlets picked up on it and helped us spread the word! I didn’t feel comfortable handing it to any sites, as I didn’t believe they would feel it was news worthy, but apparently they thought it was, as did developers – within 24 hours we had received over 70 titles for consideration for the IGSU.\nIn addition to handing out press releases, Kris and I appeared on podcasts together. One of the larger ones was Episode 4 of Joystiq’s newly formatted “Joystiq Show,” which was quite an honor in itself, considering I’ve been a fan of the site for several years.\nAs the campaign continued, Microsoft had the ability to promote the Uprising too, beginning with Major Nelson’s tweets about the release dates. Ultimately, I believe our biggest publicity boost came from Felicia Day’s tweet to her 1.8 million followers a Kotaku article titled “These 8 Indie Games Will Rise This Summer.” That article alone received over 149,000 hits. After all of the titles had been released, Microsoft revealed a dashboard promotion, which certainly help with sales but ultimately it showed a flaw in the system: How difficult it is to navigate toward the XBLIG Marketplace, which I’ll cover later in the article.\nIn addition to this, I attended GDC Europe and GamesCom in Cologne, Germany, and immediately followed it up with PAX Prime in Seattle. Although I was there to cover things for Armless Octopus (where I work as Managing Editor), I tried to plug and promote the IGSU as much as I could through networking and handing out business cards.\n2. Appearance and Public Image One area I feel we excelled in was presenting a well-organized and professional public image. Commonly, independent developers spend quite a bit of time creating their titles, but fall a bit short in the marketing department and tend to send out unpolished press material. In fact, I was recently part of a panel at GDC Europe where we discussed the often-lackluster attempts for press releases that small studios send out.\nOne of the major factors contributing to keeping a clean image and synergy throughout the campaign was the excellent team supporting our efforts. You’d be amazed at how many people will volunteer to help a cause they believe in. Our first trailer was created by Christopher Bousseau of Game Production Studios, whose title Dragons Vs. Spaceships was in the IGSU top 25. He did an excellent job of conveying the image we were looking for, as it instantly helped sell the campaign and was one of the first things that gamers saw in terms of gameplay for the first few weeks. Afterwards, Ryan Donnelly (@Masterblud) of VVGTv.com took charge with creating new trailers as necessary, and Zack Parrish (Saturnine Games) continued to create new tracks for each one.\nAlmost immediately after the IGSU launched, Nathan Smith and Josh Addison (Blazing Forge Games, Redd: The Lost Temple) began to outline the prototypes for our website along with Kris, who handled a lot of the back end .aspx work. From the moment I saw the prototype I knew we had something special. In addition to that, Nathan drew up those excellent caricatures for each title as the IGSU titles were announced and placed them on the home page. Along the way, the three of them would continue to maintain the site and add additional content. With all of these items coming together at once, we effectively conveyed the image of an organized team, and maintained the same message throughout the duration of the campaign.\n3. Gained Support for XBLIG Word of mouth is the best form of marketing you can have, as it relies heavily on only brand loyalty, but also the fact that your consumers will be selling the product or idea for you. In our case, we had overwhelming support from the fans and community.\nEarly on, Kris has the excellent idea of utilizing a fan vote to not only involve the community, but help spread the word that the Uprising was making another pass. Again, Josh and Nathan to came to our aide and had their co-workers create a poll in which fans could vote for the title they would most like to see included in the Uprising, after the first 8 finalists were selected by only the developers. We took the two titles with the highest number of votes, and included them in the final 2 positions of the uprising. This helped us in a number of ways, as it drove traffic to not only the Facebook page, which allowed us to speak directly to our audience, but also to the IGSU site.\nIf utilized correctly, Facebook can be an invaluable marketing too, but I find that far too frequently organizations don’t take a personal approach when interacting with their audience. The four of us would log on multiple times throughout the day to post updates, share links and news coverage on the IGSU, ask and answer questions, as well as offer giveaways. This back-and-forth dialogue between our fan base allowed us to quickly balloon to 1,200 likes and over 4,000 votes for the fan selected titles. Even after the titles were release, I would tweet or post a message stating that the first person to post a screen shot of them playing a selected IGSU title would win the abundance of schwag I had acquired from my brief “press tour.” Within minutes we would have multiple posts, each time from new users.\nEven people not involved in the XBLIG or XNA communities were talking about, tweeting, and covering the Uprising for the simple fact that it was a grassroots campaign designed to showcase the best work from people who at wildly passionate about what they do.\nFinally, after the poll had closed and the results were tallied, we held a twitter chat using the #IGSU hash tag, where I would announce the winners. Looking back, I probably should have planned that a bit better, as I called for a 9PM EST meeting – the problem was that I would be in Germany at the time for GDC, thereby making it 3AM local time. Needless to say, it was well worth it and a tremendous number of people showed up to participate and ask questions. It’s these kinds of community activities which I think best exemplify the strengths of being indie – a triple A publisher would get swamped with the number of responses they would receive from something like this. Fortunately for us, it was kept to a manageable size and we were able to have a meaningful conversation with all of those involved.\n4. Learned A Bit About Marketing Developers are a funny bunch. They can create massive overarching storylines, thought provoking characters, beautiful environments, and intuitive gameplay mechanics, but most of them couldn’t market their title if their life depended on it. That’s where publishers come into play, or in our case, the Indie Games Summer Uprising. The Winter Uprising took a vastly different approach from ours, but ultimately it proved to be a critical success for those involved and the XBLIG platform as a whole.\nAll too often, developers dismiss the importance of marketing and public relations. As much as we’d all like to, we can’t hope to be the runaway success that Notch has been with his hit title Minecraft. We started early, and kept the marketing push consistent throughout the campaign by constantly rolling out updates and keeping the public informed. From the first week of the promotionI had a clear picture in my mind of how often to have deadlines, and when we would deliver press releases. Rather than swamp journalists with every new feature, screenshot, or update we had, we would instead slowly release those items, and include them in one press release every 2-3 weeks. This proved beneficial, as nearly every press release generated a unique story, from the initialization of the IGSU, the developer selections, fan vote dates, and finally the release schedule.\nOur intentions were to keep consumers hungry for information, while at the same time keep them on a steady diet of news, trailers, and participation.\nAs the promotion began to take shape and appear on popular industry forums and blogs, I think the developers began to appreciate the value of it and do the same. One critical part of marketing, which I know most didn’t get right away, was accessibility, as I had to hunt down most of their contact information. If you are selling something, whether a product or idea, it is imperative that you offer numerous ways to get in touch with you, and make it clearly visible on everything you do, from a website to an e-mail signature.\nI’ve learned that above all else, communication is key, whether organizing teams of developers, or speaking with the community. Kris and I would send out dozens, if not hundreds of e-mails a day to the development teams, press, and fans, to make sure that we were all on the same page at all times. I’ve also learned that despite how clearly you spell something out for someone, such as “Please contact the respective developers for review codes,” as the final line on every press release, we would still be asked for review codes.\nWhat Went Wrong 1. Scalability As I mentioned earlier, Kris and I quickly became overwhelmed with the responses to the IGSU. This came as both a blessing and a curse. A blessing in that we had a plethora of developers and titles to select for the campaign, but a curse in that it would prove to be too much for two individuals to handle. I suppose this is where my lack of faith in people comes into play as well. Trying to convey a unified message is difficult when you have numerous people responding to e-mails, but this is a chance we probably should have taken.\nI saw a GDC panel afterwards from the guys who organized the Humble Indie Bundle, where they described a similar situation. They chose to adopt an e-mail system that was comprised of “tickets” which allowed multiple members of the campaign to respond to open tickets at the same time, thereby seeing everyone else’s responses. It looked like Tweetdeck, except each tweet was a response to a question, of which they had dozens open at one time. Perhaps if we do this again we’ll adopt that system. I’m certain that I failed to respond to at least a handful of messages, simply because they got lost in the shuffle, and I felt horrible afterward.\nMy only concern with using something like that revolved around the issue of someone stating incorrect information, then a member of the press beings running that and continuing to spread false information. An easy way to resolve that situation would be for us to be proactive instead of reactive. That is, if we had a clearer, more drawn out plan at the very beginning, then we wouldn’t have to worry about someone passing a bad idea. I doubt that all grounds could ever be covered, because as we moved along I noticed that people would ask questions and approach from angles I had never considered before.\nScalability from the developer’s side of things was an issue as well. Kris, Josh, and Nathan were constantly adding content to, and updating the website on a daily basis as developers delivered new assets. Needless to say, this was time consuming and inefficient. Should we have had more time to organize, it would have been wise to allow for developers to add their own content, using the template we set up. I commend the three of them for always managing to stay ahead of the curve and keep the content up to date. The only thing I had to manage was updating the press coverage, so I had it easy.\n2. Set Clear Rules and Guidelines As I mentioned earlier, regardless of how clear you think you are on a point, someone already has another angle figured out, or has failed to read what you wrote. Kris and I initially approached the IGSU as an organic process, in that we had a set of guidelines, but wanted the campaign to be as democratic as possible, therefore we were constantly asking for developer feedback. My fear was that the developers would begin to think, “Who is this guy, thinking he can just step in and run us how he chooses.”\nThe App Hub served as our base for delivering ideas and weighing them. It goes without saying, that despite a lot of the positive feedback we were receiving, there was also negative. You’ll never get a room of people to all agree on thing, and you can’t please everyone, so just do your best to please those who’s opinion you value most. One solution to avoid this problem is to come approach the developers with a clear set of rules and guidelines. At some point you have got to say, “This train is leaving the station. You can either hop on, or you’re being left behind.”\nI wouldn’t expect anyone to get it right the first time, but the lessons learned from this experience alone would benefit us exponentially, should we decide to do a marketing campaign of some sort again. Our team was also built organically, because it came together as we moved along and people realized this was something worth their time. Relying on the kindness of strangers, in this case or team, worked out well for us this time, but I would suggest having members established before you start a campaign of this scale. We were always transparent about everything we were doing, and I firmly believe that is the best way to operate any business, but people began to recognize a conflict of interest as we moved ahead. I was writing for Armless Octopus, a blog which specifically covered XBLIG and XNA titles, so I stopped doing any work there while promoting the event. In addition, Kris was submitting Volchaos as a candidate, as were Nathan and Josh with their title Redd: The Lost Temple, which would later be the last title release in the Uprising.\nThe Winter Uprising was in the same situation; the organizers were also the ones developing the titles. I believe because ours was done in a more democratic fashion, and the fact that we allowed for both developer and fan voting in two separate stages, that certain people didn’t agree with it.\nFinally, I can’t stress the importance of having one concise mission statement sprawled across all that you do. This constantly reinforces what the campaign is about, not only to the developers on board, but also fans and the press. People would often ask, “Why are you doing this?” and I would always respond with the mission statement: “To promote Xbox LIVE Indie Games in the best light possible by showcasing the diversity, talent, and potential of the platform as a whole.“\n3. Have Developers on Board, Then Do A Promotion As I mentioned earlier, the Winter Uprising took the opposite approach when coordinating their campaign. They initially gathered a group of developers, based on their titles, and then generated a campaign to market those titles. This has a number of advantages, such as having everyone on board from day one. The first half of our marketing push was spent promoting the campaign itself, first celebrating the fact that we had 70+ entries, followed by us narrowing down the selection to 26 titles (whoops!), and finally the 10 IGSU finalists. Looking back, some may consider this a waste of valuable marketing time, but I believe it generated hype and buzz around the whole event. A few people disagreed with the 8 entries that the developers voted into the Uprising, so we gave them (fans of XBLIG) the opportunity to vote on any of the eligible initial 70+ entries to fill the final two spots. Being a fan vote had both a positive and negative effect on the two titles. The positive effect was the idea that your title was selected because people genuinely wanted to play it! On the opposite side of the coin however, was that they lost out on 2 weeks of marketing, as the original 8 were already in.\nAnother contrasting feature from the Winter Uprising was the experience (or lack thereof) on the part of our developers. The Summer Uprising only had a few developers who had released an XBLIG title or were previously involved in the industry, where nearly all of the Winter entries came from veterans. That’s not to take anything from our developers, but a bit of experience can go a long way, especially when you factor in the quickly approaching deadlines and narrow margin for error that we could accommodate.\n4. Developers Need To Do Some Marketing Of Their Own That’s not to say that any of them didn’t market their titles, because they all certainly did. Granted, the unforgiving time constraints I alluded to earlier weren’t any help either, as most of their precious time was spent on development. Hopefully this campaign at least reinforced the value of marketing your brand, as well as having media assets readily available for the press. This included at least one trailer, multiple screenshots containing critical gameplay elements, and perhaps a few concept images.\nWhen I was seeking developers to build our initial candidate list, I also noticed was the fact that many of them did not prominently display any way to get in touch with them. In particular, the Dream.Build.Play entries that I was trying to scout from had this issue. I had to parse through all of the entries, check their youtube links, and hope they had either a site or e-mail address listed there, although many did not. At that point I gave up and moved onto the next developer.\nMarketing on the developer’s end may have helped out a bit, but it’s difficult to gauge on the Xbox Indie Marketplace. I’ve noticed that a dashboard promotion drives a far greater number of sales than any marketing campaign could ever do. This is due to a number of reasons, but I believe the largest contributing factor is the number of steps required to find the titles, nonetheless purchase and rate them. Looking back, I should have put more of an effort into coordinating more of the development teams with podcasts, journalists, and fellow gaming hobbyists. In any grassroots campaign it’s critical to win the hearts and minds of consumers, especially within a community as niche as Xbox LIVE Indie Games.\nSmall things go a long way, such as having a detailed e-mail signature. This should include your name, contact information, and which developer you work with. As the promotion went on I began to learn everyone’s name and which team they were working with, but at first many of their signatures did not include any of this information. That could have cost them some valuable networking and contacts early on when trying to contact industry professionals. You’d be surprised at how many click click throughs you receive to your site from your e-mail signature alone.\n5. Time Constraints Naturally, there are two sides to every coin, and that statement holds true in terms of the Summer Uprising. When forced to work under tight time constraints, people often generate some of their best work, due to the pressure of the deadline. There are others who fold under that same pressure, however. Fortunately we didn’t have any of those individuals in the uprising.\nThe Uprising was initially organized in early June, and the titles would be released at the tail end of August. That only gave us 10 weeks to gather developers, create a website, art, trailers, and music, finish creating the titles, play test and peer review them, all while marketing the Uprising. Needles to say, efficiency is key, and it was a summer of crunch. A few beach days were missed (I live on an island), but in the end it was well worth it.\nThere were a few reasons we chose to go with the final two weeks of August to release the titles, but Kris and I couldn’t reveal the details to the developers until after the uprising. You see, we were in touch with Microsoft from day one, who were in full support of the campaign the entire time. I’ll touch on the issues with Microsoft later, but their support was the driving force to why we did the promotion in August. We didn’t want to compete with Microsoft’s internal Summer of XBLA promotion, as they promote heavily for that and that would obviously steal a bit of our thunder.\nMicrosoft’s Dream.Build.Play promotion was occurring at the same time as well, in which their XNA team selects the standout titles from a pool of entries, very similar to our promotion. Their rules are slightly different however, so many of their titles had already been released and were playable. The finalists were to be promoted during Seattle’s PAX Prime event, with the winners having an opportunity for an XBLA contract. Dream.Build.Play benefits the Uprising in that it already has a buzz surrounding the XBLIG marketplace and XNA tools, as well as promoting several IGSU entries. Some people saw the Uprising as a direct competitor to DBP, when in fact it couldn’t be further from the truth – both parties were well acquainted with one another and were there to promote the same platform!\nBecause a dashboard promotion was never guaranteed, it was suggested that Kris and I not say anything to the developers until we knew it was certain, and we agreed. We were told that our best hope for a dashboard promo would be if we had the games released over a 2 week period, instead of 4 as initially planned, and for it to be the final two weeks of August. Besides, it technically is still within the reach of summer. Good luck trying to explain to 70+ developers why they need to have their titles completed in 10 weeks when you can’t relay any of this information. They probably thought we were crazy. Kris and I wanted all 10 of the finalists to have their titles finished and in the peer review two weeks before the Uprising was set to begin, so that made our time constraints even more pressing on the developers.\nIn the end, all but one of the titles hit their release date. Take Arms was pulled shortly after it was released though, as they found a latency issue when playing in a full room. It’s difficult to test for issues such as this in peer review because the developer would need to round up 7 other XNA developers each time they wanted to test a change in their network code. Redd: The Lost Temple just missed their release date due to a last minute bug. It was corrected the next day, although XNA titles need to sit in peer review for at least 48 hours before they can be released, therefore it didn’t appear for another two days. When you consider the unreasonable time table placed in front of the developers, I think it’s a fair assessment to say that they put their hearts into their work in order to hit that tight launch window.\n6. The Dashboard The dashboard itself seems to be the inherent issue with XBLIGs. Often times it is confusing and difficult to navigate, largely due to the constantly changing panels, which reflect the day’s promotions, games, and videos. There is still hope however, as a there is a dashboard update for this fall, titled “Metro.” Could this be the answer we’ve been looking for? Perhaps. But until then, here are the necessary steps to purchase an Xbox LIVE Indie title:\nLog into an Xbox Live profile capable of purchasing games. Scroll to the Game Marketplace Click Explore New Games Scroll up to Games \u0026amp; Demos Scroll right and select Indie Games Scroll up to Titles A-Z Scroll through T for Train Frontier Express Click Buy After even the fourth step I believe you’ve lost most gamers, as they crave instant gratification and are constantly bombarded with advertisements along the way. Let me make it clear that it is not the ads which are the issue, but the fact that so many steps are required to find a title.\nOther Notes In closing, I wanted to clear some things in the air on Microsoft’s behalf. Frequently, XBLIG developers feel as though Microsoft does not care for, or support their cause, but this simply isn’t the case. In working with numerous facets of the organization, I can tell you that they very much do care for the indies, but like most things in this industry, it is driven with business in mind first. As part of our XNA Creator’s membership, we each pay a $100 annual fee, and forfeit 30% of our profits on titles sold, which is the same Apple charges for use of the App Store. In total, the amount of revenue that XBLIG developers generate for Microsoft is miniscule in comparison to what other services such as XBLA can potentially deliver. In addition to this, it costs publishers tens of thousands of dollars, generally much more, to have an XBLA title released on the platform. For these reasons alone it is not fair for XBLIG to receive equal promotion and support from Microsoft when other publishers are forking over valuable funds for things like a dashboard panel.\nPerhaps at the risk of upsetting some of its large publishing partners, the Summer Uprising was still fortunate enough to receive not one, but two dashboard promotions from Microsoft, at zero cost to the developers. Picture the dash in terms of advertising revenue; there are 35 million active LIVE users (M. Nelson Podcast, Ep. 410, 9.11.11) , therefore a large percentage of said users view promotions on the dashboard. Naturally, the further you move from the initial launch screen, the lower the value of the dashboard position. As I mentioned earlier, Microsoft was on board with this promotion from the very beginning, whether it was through their PR company, Edelman, their XNA team in Redwood, and even Major Nelson. In the end, Microsoft cannot lend preference or support for only one XBLIG title, but they have the ability to support a campaign as a whole.\nUltimately, I’m proud of all that we’ve accomplished. We’ve not only exposed a bit of weaknesses in the system, such as few problems with XBLIGs on the dashboard, but some strengths as well. In all honesty, I think you would be hard pressed to find another marketing campaign as successful as ours, and with out of pocket cost of basically zero dollars. Were we a financial success? Not by any means, but that was never the goal. We’ve managed raised awareness for the platform as a whole, continued to allow XBLIG to leave its mark on the map, and perhaps inspired others to make the changes that they would like to see as well. At the end of the day I can say this is was an outstanding experience for all of those involved.\nSo what’s the lesson to be learned from all of this? Well, a bit of careful planning, some community support, and a strong network of developers can go a long way.\n** Alex Jordan has also added a post-mortem of his own, for his IGSU title, Cute Things Dying Violently. You can view it here.\n***Take Arms has their post-mortem posted here as well.\n","permalink":"https://davevoyles.com/posts/indie-game-summer-uprising-post-mortem/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/07/summeruprising_pressreleasebanner7_5x2.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/07/summeruprising_pressreleasebanner7_5x2.png\" title=\"SummerUprising_PressReleaseBanner7_5x2\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis article reflects my thoughts, and not necessarily those of the other team members for the Indie Games Summer Uprising.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEDIT:\u003c/strong\u003e I’ve added the section \u003cem\u003e“6. The Dashboard”\u003c/em\u003e, an intro, as well as numerous grammatical corrections throughout.\u003c/p\u003e\n\u003cp\u003eSince its inception, the Xbox Live Indie Games have been considered the red-deaded stepchild of Microsoft’s internet based LIVE platform. Hidden beneath layers of menus and triple-A titles, sales and promotions have never been outstanding for developers, unless you manage to earn a spot on the highly coveted “Top Downloads” section.\u003c/p\u003e","title":"Indie Game Summer Uprising Post-Mortem"},{"content":"\nUPDATE: My neighbor was nice enough to send me a video take from next door. His house is directly to the left of mine, and you can see my backyard as the camera pans to the right toward the end of the video.\nApparently a hurricane came through the east coast while I was in Seattle for PAX Prime. Fellow Armless Octopus editor Taylor Bliss and I left Thursday morning, just before the storm was set to arrive, and returned late Monday evening, just as the storm had run its toll. I arrived home this evening to find the area around my home…..slightly displaced.\nI live on the south shore of Long Island, and what you’re looking at in the pictures seen here is the small bay which separates Long Island from the Atlantic Ocean. Needless to say, we had it coming.\nA few trees were in different locations. Docks were raised. My garage had a couple of feet of water in it.\nIn total, I didn’t have it very bad compared to most. I lost a 42″ TV in the garage, a bunch of tools which I had in tool bags on the floor, a subwoofer which I had just removed from my car (all of the stereo equipment made it, whew!), among other things. All in all, it was the outside which took the greatest beating.\nView from the living room\nDifferent electrical outlets throughout my home have power (odd, I know), so we’re still waiting for LILCO to get here. Fortunately for them, they have a monopoly on Long Island and are the only power provider. Signs are scattered throughout the neighborhood, asking if others have seen them about, but like a ship lost at sea, they are nowhere to be found.\nTake a gander at a few of the photos I’ve taken around the place, as well as a few which were sent to me while I was on the west coast. A neighbor snapped a cool video of the water attacking our homes, and promises to send it my way within the next day or so. Be sure to check back then, as I will update the page with the video.\nThe worst of it all? The beer in my fridge got warm. I had some good stuff in there to.\nHey, at least I’ve got a sense of humor about it all.\nLook below for the gallery, which includes more photos ","permalink":"https://davevoyles.com/posts/a-hurricane-came-through-my-house-and-all-i-got-were-these-cool-photos/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/08/imag11031.jpg\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/08/imag11031.jpg\" title=\"IMAG1103\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eUPDATE:\u003c/strong\u003e \u003cem\u003eMy neighbor was nice enough to send me a video take from next door. His house is directly to the left of mine, and you can see my backyard as the camera pans to the right toward the end of the video.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eApparently a hurricane came through the east coast while I was in Seattle for PAX Prime. Fellow \u003ca href=\"http://www.armlessoctopus.com\"\u003eArmless Octopus\u003c/a\u003e editor \u003ca href=\"http://www.twitter.com/taylorbliss\"\u003eTaylor Bliss\u003c/a\u003e and I left Thursday morning, just before the storm was set to arrive, and returned late Monday evening, just as the storm had run its toll. I arrived home this evening to find the area around my home…..slightly displaced.\u003c/p\u003e","title":"A hurricane came through my house and all I got were these cool photos"},{"content":"UPDATE: Thanks @BigBossBenGilbert for the photo!\nHeaded to GDC Europe? Why not come take a gander at the panel I’ve been invited to attend by Deejay of Indie City.\nTaken straight from his page:\nI’ll be hosting the Indies’ Got PR Talent panel at GDC Europe on Monday 15th August, 12:40pm. I’ll be joined by games press veterans Mike Rose, Christian Nutt and Keith Stuarterr, someone else who’s yet to be officially confirmed (That’s me!).\nWe’ll be going through various indie press releases, screenshots and videos, highlighting the best and worse examples. All in the format of the [INSERT COUNTRY HERE]’s Got Talent gameshow, which should add extra mirth into the mix. After dissecting each, the panel will be giving their expert opinion on how indie developers can make a better impact with their PR activities.\n","permalink":"https://davevoyles.com/posts/ill-be-a-guest-speaker-on-the-indies-got-pr-talent-a-press-panel-at-gdc-europe/","summary":"\u003cp\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/08/indiesgottalent.jpg\" title=\"IndiesGotTalent\"\u003e\u003cstrong\u003eUPDATE\u003c/strong\u003e:  Thanks \u003ca href=\"www.twitter.com/bigbossbengilbert\"\u003e@BigBossBenGilbert\u003c/a\u003e for the photo!\u003c/p\u003e\n\u003cp\u003eHeaded to GDC Europe? Why not come take a gander at the panel I’ve been invited to attend by Deejay of \u003ca href=\"http://www.indiecity.com/\"\u003eIndie City\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eTaken straight from his page:\u003c/p\u003e\n\u003cp\u003eI’ll be hosting the \u003ca href=\"http://schedule.gdceurope.com/session/5835/Indie%27s_Got_PR_Talent_-_A_Press_Panel\"\u003eIndies’ Got PR Talent\u003c/a\u003e panel at GDC Europe on Monday 15th August, 12:40pm. I’ll be joined by games press veterans \u003ca href=\"http://twitter.com/#%21/RaveofRavendale\"\u003eMike Rose\u003c/a\u003e, \u003ca href=\"http://twitter.com/#%21/ferricide\"\u003eChristian Nutt\u003c/a\u003e and \u003ca href=\"http://twitter.com/#%21/keefstuart\"\u003eKeith Stuart\u003c/a\u003eerr, someone else who’s yet to be officially confirmed (That’s me!).\u003c/p\u003e\n\u003cp\u003eWe’ll be going through various indie press releases, screenshots and videos, highlighting the best and worse examples. All in the format of the \u003cem\u003e[INSERT COUNTRY HERE]’s Got Talent\u003c/em\u003e gameshow, which should add extra mirth into the mix. After dissecting each, the panel will be giving their expert opinion on how indie developers can make a better impact with their PR activities.\u003c/p\u003e","title":"I'll be a guest speaker on the Indie's Got PR Talent – A Press Panel at GDC Europe"},{"content":"I’m off to my first GDC Europe and GamescCom event, . I’ll be there from Sunday 8/14 – Sunday 8/21 and staying on the north side of town. If you’re there and would like to say hello, get in touch with me! If you’re an Indie developer, come by this event hosted by GDC at Club Diamonds in Koln on Tuesday evening. I’ll be there to support the Indie Games Summer Uprising.\nI won’t have a phone with cell service, but I will have a blackberry, so your best bet to get in touch with me would be to use E-mail orTwitter.\nI’ll also be at PAX Prime in Seattle the following week, so if you’re headed there as well, please get in touch with me. I’d love to meet with many of you!\n","permalink":"https://davevoyles.com/posts/off-to-gdc-europe-and-gamescom/","summary":"\u003cp\u003eI’m off to my first GDC Europe and GamescCom event, . I’ll be there from Sunday 8/14 – Sunday 8/21 and staying on the north side of town. If you’re there and would like to say hello, get in touch with me! If you’re an Indie developer, come by \u003ca href=\"http://www.facebook.com/event.php?eid=117339171698512\"\u003ethis event\u003c/a\u003e hosted by GDC at Club Diamonds in Koln on Tuesday evening. I’ll be there to support the Indie Games Summer Uprising.\u003c/p\u003e","title":"Off to GDC Europe, and GamesCom"},{"content":"\nLast week I head the pleasure of being interviewed by Andrew Webster of Ars Technica for his piece “We Band of Brothers: Developer-led Xbox Live Indies promotion returns.” In it he describes how the uprising came to be, our future plans, and lessons learned from the previous uprising.\n","permalink":"https://davevoyles.com/posts/interview-i-did-with-ars-technica-last-week-is-up-now/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/07/arsinterview.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/07/arsinterview.png\" title=\"ArsInterview\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eLast week I head the pleasure of being interviewed by \u003ca href=\"http://twitter.com/a_webster\"\u003eAndrew Webster\u003c/a\u003e of Ars Technica for his piece \u003ca href=\"http://arstechnica.com/gaming/news/2011/07/we-band-of-brothers-developer-led-xbox-live-indies-promotion-returns.ars?comments=1#comments-bar\"\u003e“We Band of Brothers: Developer-led Xbox Live Indies promotion returns.\u003c/a\u003e” In it he describes how the uprising came to be, our future plans, and lessons learned from the previous uprising.\u003c/p\u003e","title":"Interview I did with Ars Technica last week is up now"},{"content":"\nEDIT: To see a clearer list of the 26 (read below) entries, click here.\nThe Indie Games Summer Uprising list has been narrowed down from 70+ to just 25 this week. Starting Monday July 11th, developers will have the opportunity to select 8 picks to represent the platform in the Uprising. Voting closes on Sunday July 17th. Developers are to vote on a variety of factors including: Marketability, originality, appearance, entertainment, music, and gameplay. A 5 star rating system will be used, just as XBLIG tittles are rated on Live, and the 8 titles with the highest average score are selected in the promotion. A poll will be e-mailed to all XBLIG developers who have submitted candidates. Winners will be announced the following day, Monday July 18th on the IGSU home page.\nThe community still has the opportunity to voice their opinion as well! A fan vote will occur during the two week period of August 1st – August 15th on our dedicated Facebook page. Winners will be announced during the #IGSU Twitter chat, on **Tuesday August 16th.**Fans will be voting on the two (2) titles they would most like to play, all 70+ candidates are still eligibile and these two (2) title will be released on the final two days of the promotion: Thurs Sept 1st and Friday Sept 2nd.\nClick through for the list of selections.\nHere are the 25 selections:\n37 Days to Die All The Bad Parts AvaGlide 2 Battle High: San Bruno Blossom Tales Cell: Emergence City Tuesday Chester Cute Things Dying Violently Dirche Kart 2 Doom and Destiny Dragons Vs. Spaceships Katana Land Mega Shooter 11: Ladies and powerups P3 Progenitor Raven Throne Redd: The Lost Temple Speed Runner T.E.C. 3001 Take Arms The Jump Hero The Hears of Men The Spirit of Kohn, Ep 1 Train Frontier Express Volchaos EDIT: Honest mistake – When transferring the list of 25 title which would be in the running, Progenitor was mistakenly missing from the list. In fact, it was one of the 13 titles which we all agreed would be in the Uprising before we even shared our lists. Upon looking back at the lists I realized that I did not transfer it over. For this reason, we’ve simply added it as #26, rather than remove another title from the list. If you look at their work here, I’m sure most would agree that it’s an appropriate move.\n","permalink":"https://davevoyles.com/posts/indie-games-summer-uprising-candidates-narrowed-down-to-25-developers-choose-8-next-week/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/07/summer-uprising-candidates-announced.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/07/summer-uprising-candidates-announced.png\" title=\"Summer Uprising Candidates Announced\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEDIT:\u003c/strong\u003e To see a clearer list of the 26 (read below) entries, \u003ca href=\"http://www.indiegames-uprising.com/Top25.aspx\"\u003eclick here.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe Indie Games Summer Uprising list has been narrowed down from 70+ to just 25 this week. Starting \u003cstrong\u003eMonday July 11th\u003c/strong\u003e, developers will have the opportunity to select 8 picks to represent the platform in the Uprising. Voting closes on \u003cstrong\u003eSunday July 17th\u003c/strong\u003e. Developers are to vote on a variety of factors including: Marketability, originality, appearance, entertainment, music, and gameplay. A 5 star rating system will be used, just as XBLIG tittles are rated on Live, and the 8 titles with the highest average score are selected in the promotion. A poll will be e-mailed to all XBLIG developers who have submitted candidates. Winners will be announced the following day, \u003cstrong\u003eMonday July 18th\u003c/strong\u003e on the IGSU home page.\u003c/p\u003e","title":"Indie Games Summer Uprising candidates narrowed down to 25 – developers choose 8 next week"},{"content":"\nWe’ve finally launched the Indie Games Summer Uprising site! Josh Addison, Nathan Smith, and Chris Brousseau have all done an outstanding job with the web design, art work, and initial launch trailer. You can find more of their work at Blazing Forge Games and Game Production Studios.\nIn addition to the site, we’ve released the initial launch trailer and press release to a number of outlets.\nBe sure to “Like” us on Facebook as well, where you will have the opportunity to vote for two additional titles that you would like to see as part of the uprising. Click through for the press release.\nThe NeoGAF forums have a thread on it already, so why not join in on the conversation while you’re at it?\nThe Indie Games Summer Uprising is upon us!\nTaking note of the commercial and critical success of the Indie Game Uprising last winter, Xbox Live’s Independent developers have banded together yet again to promote some of the most outstanding pieces of work which best represent their platform. Immediately following Xbox Live’s Summer of Arcade, gamers will have the opportunity to play some of the greatest titles to grace the platform.\nOur goal is clear: Just as the previous uprising had successfully done, we are raising consumer awareness of the platform by showcasing some of the most creative diverse titles which the service has to offer. We will be releasing a total of 8 developer voted titles, each day of the business week, Monday Aug 22nd – Wednesday Aug 31st.\n**Community input is requested!In addition to the developer selected titles,the gaming community will have the opportunity to vote for their two favorite candidates from the 70+ developer submissions on the IGSU Facebook page from August 1st – August 15th. The community favorites will be released at the tail end of the promotion on Thursday Sept. 1st and Friday Sept. 2nd. The winners will be announced at the IGSU Developer Twitter chat, which will occur the day after the polls close on Tues Aug 16th – 8PM EST, using the hash tag #IGSU. Moreover, the chat will offer the community a chance to communicate directly with all of the developers in a creative and immersive environment.\nIndie Games Uprising Summer Schedule:\nJuly 4th – July 18th Developer voting for 8 titles to represent the platform\nAugust 1st – August 15th: Community voting for 2 additional titles they would most like to play\nTues Aug 16th – 9PM EST: IGSU Developer Twitter chat, community winners announced\nAugust 22nd – September 2nd: Promotion and release of 8 developer and 2 community voted titles\nDon’t be a stranger!Visit our new site which launched today for a full list of candidates, which includes trailers and screenshots, as well an FAQ, and more!\nRegards,\n–Dave Voyles \u0026amp; Kris Steele,\nSummer Uprising Coordinators\nhttp://indiegames-uprising.com/\nFor more information or press inquiries, please contact Dave Voyles and Kris Steele at Dnvoyles@gmail.com and Kris@FunInfused.com\nDownload a copy of the launch press release below.\n","permalink":"https://davevoyles.com/posts/the-indie-games-summer-uprising-site-is-up/","summary":"\u003cp\u003e\u003ca href=\"http://www.indiegames-uprising.com/Default.aspx\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/07/summeruprising_pressreleasebanner7_5x2.png\" title=\"SummerUprising_PressReleaseBanner7_5x2\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe’ve finally launched the \u003ca href=\"http://www.indiegames-uprising.com/Default.aspx\"\u003eIndie Games Summer Uprising site!\u003c/a\u003e Josh Addison, Nathan Smith, and Chris Brousseau have all done an outstanding job with the web design, art work, and initial launch trailer. You can find more of their work at \u003ca href=\"http://www.blazingforgegames.com/\"\u003eBlazing Forge Games\u003c/a\u003e and \u003ca href=\"http://www.gameproductionstudios.com/\"\u003eGame Production Studios\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIn addition to the site, we’ve released the \u003ca href=\"https://www.youtube.com/watch?v=4X3rlblR8vw\u0026amp;feature=player_embedded\"\u003einitial launch trailer\u003c/a\u003e and \u003ca href=\"http://davidvoyles.files.wordpress.com/2011/07/summer-uprising-press-release-7-5.pdf\"\u003epress release\u003c/a\u003e to a number of outlets.\u003c/p\u003e\n\u003cp\u003eBe sure to \u003ca href=\"http://www.facebook.com/pages/Indie-Game-Summer-Uprising/191422484238144?sk=wall\"\u003e“Like” us on Facebook as well\u003c/a\u003e, where you will have the opportunity to vote for two additional titles that you would like to see as part of the uprising. Click through for the press release.\u003c/p\u003e","title":"The Indie Games Summer Uprising site is up!"},{"content":"\nI’ve just finished creating a tutorial on programming pickups for vehicles in UDK. This covers both ammo and health. I noticed that it was something that I felt wasn’t covered in depth when I needed to learn how to do it for Death Sentence, so I figured I would save others the time. At the end of the tutorial you’ll find the .uc code for both items, and instructions on how to implement it into your game. What are you waiting for? Check it out! And be sure to let me know what you think of it as well.\n","permalink":"https://davevoyles.com/posts/programming-pickups-for-vehicles-in-udk-tutorial-is-up/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.wordpress.com/udk-title/creating-weapon-ammo-vehicle-pickups/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/06/drag-and-drop.png\" title=\"Drag and drop\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI’ve just finished creating a tutorial on \u003cstrong\u003e\u003ca href=\"http://davidvoyles.wordpress.com/udk-title/creating-weapon-ammo-vehicle-pickups/\"\u003eprogramming pickups for vehicles in UDK.\u003c/a\u003e\u003c/strong\u003e This covers both ammo and health. I noticed that it was something that I felt wasn’t covered in depth when I needed to learn how to do it for Death Sentence, so I figured I would save others the time. At the end of the tutorial you’ll find the .uc code for both items, and instructions on how to implement it into your game. What are you waiting for? \u003cstrong\u003e\u003ca href=\"http://davidvoyles.wordpress.com/udk-title/creating-weapon-ammo-vehicle-pickups/\"\u003eCheck it out!\u003c/a\u003e\u003c/strong\u003e And be sure to let me know what you think of it as well.\u003c/p\u003e","title":"Programming pickups for vehicles in UDK tutorial is up"},{"content":"See, I really do make games and not just write about them! Take a gander at the site I created for Death Sentence. It is still very It’s a great team so far, and I’ve been fortunate enough to hop on, although later in development to work as both an environment artist and web developer. It is a vahicular combat title in a similar vein to Twisted Metal. We’ve created it using the latest Unreal Engine, and it should have a release on the PC and perhaps iOS at some point after.\n","permalink":"https://davevoyles.com/posts/death-sentence-website-is-live/","summary":"\u003cp\u003e\u003ca href=\"www.deathsentenceudk.wordpress.com\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/death-sentence.gif\" title=\"Death Sentence\"\u003e\u003c/a\u003eSee, I really do make games and not just write about them! \u003ca href=\"http://www.deathsentenceudk.wordpress.com\"\u003eTake a gander\u003c/a\u003e at the site I created for Death Sentence. It is still very It’s a great team so far, and I’ve been fortunate enough to hop on, although later in development to work as both an environment artist and web developer. It is a vahicular combat title in a similar vein to Twisted Metal. We’ve created it using the latest Unreal Engine, and it should have a release on the PC and perhaps iOS at some point after.\u003c/p\u003e","title":"Death Sentence website is live!"},{"content":"\nFlexing my creative talents, I’ve recently finished Conelle Construction’s website. They are a general contracting firm out of Manhattan, NY, who speciailizes in high-end residential and commercial renovations. I also work there as a field supervisor, and AV / IT tech. Check out some of our work in the photo galleries.\n","permalink":"https://davevoyles.com/posts/developed-conelle-construction-groups-website/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2010/03/conellecg_med.gif\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/conellecg_med.gif\" title=\"Conellecg_med\"\u003e\u003c/a\u003e\u003cbr\u003e\nFlexing my creative talents, I’ve recently finished \u003ca href=\"http://www.conelleconstruction.com\"\u003eConelle Construction’s\u003c/a\u003e website. They are a general contracting firm out of Manhattan, NY, who speciailizes in high-end residential and commercial renovations. I also work there as a field supervisor, and AV / IT tech. Check out some of our work in the photo galleries.\u003c/p\u003e","title":"Developed Conelle Construction Group's website"},{"content":"\nI’ll be attending my second GDC conference this year. I’ve recently received my press pass as a member of the Armless Octopus. I plan on staying the full week this time, most specifically for the UDK game track. I’m also scheduling an XNA meet up for XNA and Xbox indie developers, so if you’d like to join us, feel free to contact me.\n","permalink":"https://davevoyles.com/posts/gdc-2011/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2010/03/gdc_2011.jpg\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/gdc_2011.jpg?w=300\" title=\"GDC_2011\"\u003e\u003c/a\u003e\u003cbr\u003e\nI’ll be attending my second GDC conference this year. I’ve recently received my press pass as a member of the Armless Octopus. I plan on staying the full week this time, most specifically for the UDK game track. I’m also scheduling an XNA meet up for XNA and Xbox indie developers, so if you’d like to join us, feel free to contact me.\u003c/p\u003e","title":"GDC 2011"},{"content":"\nI just finished putting together a feature geared towards indie developers on how to market their titles. I frequently find that many of the smaller, or even 1 man studios tend to have a difficult time promoting and marketing their work, so I felt it was time for me to share some of the best practices I’ve come across so far. I should have part 2 up some time later in the week. It originally appeared on Armless Octopus on April 16th, and you can access it through this link.\n","permalink":"https://davevoyles.com/posts/how-to-market-your-game-xblig-style-part-1/","summary":"\u003cp\u003e\u003ca href=\"http://www.armlessoctopus.com/2011/04/16/how-to-market-your-game-xblig-style-part-1/\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/ace-ventura-pet-detective-original32.jpg\" title=\"ace-ventura-pet-detective-original32\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI just finished putting together a feature geared towards indie developers on how to market their titles. I frequently find that many of the smaller, or even 1 man studios tend to have a difficult time promoting and marketing their work, so I felt it was time for me to share some of the best practices I’ve come across so far. I should have part 2 up some time later in the week. It originally appeared on \u003ca href=\"www.armlessoctopus.com\"\u003eArmless Octopus\u003c/a\u003e on April 16th, and you can \u003ca href=\"http://www.armlessoctopus.com/2011/04/16/how-to-market-your-game-xblig-style-part-1/\"\u003eaccess it through this link.\u003c/a\u003e\u003c/p\u003e","title":"How to market your game, XBLIG Style – Part 1"},{"content":"\nI’ve always enjoyed writing, and since an early age I’ve pursued it. Recently I found a story I wrote 18 years ago with my friend Kevin when we were in the first grade. One title which has had a profound effect on my view of gaming was The Legend of Zelda: A Link to the Past, and it stays with me today. As we were both fans of the title, and shared astounding artistic and creative writing talents, we believed it was the best time for share our efforts and create this masterpiece. If I ever needed to qualify my geek credibility, this should do it. I also have a Crash Bandicoot book I wrote in 1996, composed of images from an old Game Informer mag – I’ll look for that one soon too.\n","permalink":"https://davevoyles.com/posts/legend-of-zelda-animated-novella/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2011/04/legend-of-zelda_davevoyles.pdf\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2011/04/legend_of_zelda_a_link_to_the_past_the_super_famicom.jpg?w=300\" title=\"legend_of_zelda_a_link_to_the_past_the_super_famicom\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI’ve always enjoyed writing, and since an early age I’ve pursued it. Recently I found a story I wrote 18 years ago with my friend Kevin when we were in the first grade. One title which has had a profound effect on my view of gaming was The Legend of Zelda: A Link to the Past, and it stays with me today. As we were both fans of the title, and shared astounding artistic and creative writing talents, we believed it was the best time for share our efforts and create this masterpiece. If I ever needed to qualify my geek credibility, this should do it. I also have a Crash Bandicoot book I wrote in 1996, composed of images from an old Game Informer mag – I’ll look for that one soon too.\u003c/p\u003e","title":"Legend of Zelda – animated novella!"},{"content":"Here are some screens from the level layout I’ve been working on now that I’ve decided to go full speed with my project. I’ll add more as I finish more sets. I use SketchUp to layout the levels, in combination with Visio. It makes things much easier to have models for comparison before I actually build them in Unreal. You can find more of them on the Unreal Project page.\n","permalink":"https://davevoyles.com/posts/new-level-layouts-for-udk-project/","summary":"\u003cp\u003eHere are some screens from the level layout I’ve been working on now that I’ve decided to go full speed with my project. I’ll add more as I finish more sets. I use SketchUp to layout the levels, in combination with Visio. It makes things much easier to have models for comparison before I actually build them in Unreal. You can find more of them on the Unreal Project page.\u003c/p\u003e","title":"New level layouts for UDK project"},{"content":"\nI’ll be attending Pax East 2011 with the rest of the Armless Ocotopus staff (minus the Canadian). We’ll be there interviewing XBLIG and XBLA developers, previewing the latest and greatest titles, and are considering another live podcast like we did last year. A video review may be in in order well.\nIf you’re headed over as well, feel free to contact me so that we can meet up!\n","permalink":"https://davevoyles.com/posts/pax-east-2011-with-armless-octopus/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2010/03/paxeast_2011.jpg\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/paxeast_2011.jpg\" title=\"paxeast_2011\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI’ll be attending Pax East 2011 with the rest of the Armless Ocotopus staff (minus the Canadian). We’ll be there interviewing XBLIG and XBLA developers, previewing the latest and greatest titles, and are considering another live podcast like we did last year. A video review may be in in order well.\u003c/p\u003e\n\u003cp\u003eIf you’re headed over as well, feel free to contact me so that we can meet up!\u003c/p\u003e","title":"PAX East 2011 with Armless Octopus"},{"content":" Who’s got two thumbs and is headed to PAX Prime 2011? This guy! If you’re going too, why not reach out to me before hand so that we can meet up while we’re there?\n","permalink":"https://davevoyles.com/posts/pax-prime-2011/","summary":"\u003ch2\u003e\u003c/h2\u003e\n\u003cp\u003eWho’s got two thumbs and is headed to PAX Prime 2011? This guy! If you’re going too, why not reach out to me before hand so that we can meet up while we’re there?\u003c/p\u003e","title":"Pax Prime 2011"},{"content":"\nThus far, the enthusiasm behind the uprising has been great. We have over 45 submissions at this point, with additional ones coming in. The press has been kind to us as well and really helped with spreading the word. I didn’t sent out a press release to any of the outlets, as the one listed below was really just geared toward the developers, but looking back I probably should have. I’ll have an updated one in the next week or so as more news gets solidified. The website should be up within the week, so be sure to check back here for a link for that. Andrew Currie of Evil Robot Logic has been doing an outstanding job of handling that for us.\nBe sure to check out some of the press listed below. If you would like any of us on your podcast in the coming weeks please let Kris or I know and we’d love to continue to promote the platform in that manner.\nArticles\nGamasutra, 6.16.11 – Xbox Live Indie Game Uprising Returning For Summer, Taking Nominations Joystiq, 6.16.11 – XBL Indie Game Uprising returns this summer, taking submissions Armless Octopus, 6.14.11 – The Xbox Live Indie Games Summer Uprising begins in August DIY Gamer, 6.15.11 Xbox Live Indie Games Summer Uprising Deadline Approaching Shack News, 6.16.11 Xbox Live Indie Games Uprising returns this summer MTV Multiplayer, 6.16.11 – Xbox Live Indie Games Will ‘Uprise’ Again This Summer True Achievements, 6**.**16.11 – Indie Games Summer Uprising Revealed Podcasts\nArmless Octopus, 6.14.11 – Episode 56 ","permalink":"https://davevoyles.com/posts/summer-uprising-press-coverage/","summary":"\u003cp\u003e\u003ca href=\"http://davidvoyles.files.wordpress.com/2010/03/igsu-logo1.png\"\u003e\u003cimg loading=\"lazy\" src=\"http://davidvoyles.files.wordpress.com/2010/03/igsu-logo1.png?w=300\" title=\"IGSU Logo1\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThus far, the enthusiasm behind the uprising has been great. We have over 45 submissions at this point, with additional ones coming in. The press has been kind to us as well and really helped with spreading the word. I didn’t sent out a press release to any of the outlets, as the one listed below was really just geared toward the developers, but looking back I probably should have. I’ll have an updated one in the next week or so as more news gets solidified. The website should be up within the week, so be sure to check back here for a link for that. Andrew Currie of \u003ca href=\"http://www.evilrobotlogic.com/\"\u003eEvil Robot Logic\u003c/a\u003e has been doing an outstanding job of handling that for us.\u003c/p\u003e","title":"Summer Uprising Press Coverage"},{"content":"While I was down in Philly visiting Armless Octopus Editor-In-Chief Mike Wall, we headed over to the “Too Many Games” expo, which I detailed more information about below. Here’s some photos so you can live through the nostalgia we experienced! Unfortunately, I didn’t find any copies of Panzer Dragoon Zwei :/\n","permalink":"https://davevoyles.com/posts/too-many-games-expo-philly-2/","summary":"\u003cp\u003eWhile I was down in Philly visiting Armless Octopus Editor-In-Chief Mike Wall, we headed over to the “Too Many Games” expo, which I detailed more information about below. Here’s some photos so you can live through the nostalgia we experienced! Unfortunately, I didn’t find any copies of Panzer Dragoon Zwei :/\u003c/p\u003e","title":"Too Many Games Expo – Philly"},{"content":"","permalink":"https://davevoyles.com/graph/","summary":"","title":"Graph"}]