Title Image

Plane of NonConformity

Welcome to Plane of NonConformity Sign in | Join | Help

Front Page News

  • More Microcontroller links

    sw3dprousb (aka 3DP-Vert) Google Code project -  http://code.google.com/p/sw3dprousb/
    Reverse Engineering the Force Feedback Pro - http://www.descentbb.net/viewtopic.php?f=8&t=19061 

    06-12-2012, 6:42 AM by Carsinigin to Carsinigin
    Filed under:
  • Build your own Cockpit/Controller Links

    09-30-2009, 9:06 PM by Carsinigin to Carsinigin
  • Keys to a great Xbox 360 Game

    Microsoft has made some great improvements to the Interface on the Xbox 360.  I had written an outline of what I thought made a great Xbox game back in 2004 when Xbox Live had been out about a year and a half.   A few of the items on that list have been fixed with the blade interface on the 360, but some are still left up to the individual game developer.


    Things Microsoft needs to fix globally

    1. Individual volume control for other players - Some players have their mic stuffed down their though and yell, others like to whisper.   Save the setting globally so I don't have to adjust it ever time for the same player.
    2. More options for sending feedback about a player - We need options like "Immature,"  "Annoying," "Spawn Camper," and "Team Killer" and then thresholds that the host can set not to let people in with too many of those feedbacks.  At least now we have the five star reputation system so we can check if a player is going to be a pain in the ass. Although it seems that everyone I play with has 4 1/2 or 5 stars, maybe I just play with good people or it's broken.
    3. Games have ratings, Enforce them -  I should not be constantly running into pre-teens in rated "M" games.   I know they have "parental controls" but seriously that will not work,  my 8 year old nephew knows the new "parental control" password within a day of his parents changing it, just from watching them type it in.  Use the expanded feedback system to tag Gamertag that have underage players and block them from getting on live on any "M" rated games.

    For Developers:

    1. Less "Loading...." - I've got a few points about loading:

      • There should be a minimum of at least 5 minutes of gameplay between loading screens.  
      • Yes your new 3D realtime rendered menuing system looks really nice,  but it's getting in the way of playing your game.  It takes longer to load and sometimes I even see a loading screen when I go to an other menu.  KISS.  Once I'm at the main menu I don't want to see a loading screen until I'm starting the game.
      • My favorite thing to bitch about; "Press Start to Load"  If you put up "Press Start" on the screen as the only option it better not say "Loading" right after I press that button.   You could be nice and load then ask me to press start.  It saves me time.
      • Have a real main menu.   I don't want to load up your single player game to pull up my in game cell phone to find where to join the multiplayer match. Thanks GTAIV.  I had to ask someone how to play online.   Not cool.
    2. Control - Please let us map our own controllers.   We should be able to set any button to do any action.  Some of us play a lot of different games in the same genre, we don't want to have the X button be reload in one game when it's jump in an other.  Let us pick what each button does and you can provide your recommendations.  Hell even let us trade our controller configurations with friends.
    3. Proximity Chat and Team Chat - Both should be supported.  I want to be able to taunt my prey.
    4. Hosting - Again multiple points
      • Lobby - This is not optional IMO for a great Xbox live game.  We need a bit of downtime between games to chat and socialize with our fellow gamers.  But with lobbies come some other features that need to be in the lobby.  The host needs to be able to change settings for the game, not just some settings but every setting,  including the size(number of players) of the lobby.  Also the host must be able to force a launch if someone in the room is AFK.  The on the other side of things a way for the players to launch if the host is AFK.
      • Dedicated Hosting - If you think you need a dedicated server for the PC version of your game you need a dedicated host mode for your Xbox 360 version.  Of course not all games need a dedicated host but not everyone can host 8 to 16 players but some people can and those people are not always on their 360 but their 360 can always be on. (as long as it's in a well ventilated space)
      • Kicking and Banning:  I don't want to kick the same guy multiple times.  Also it should not be easy to accidental kick your buddy who just happens to be next to the annoying guy on the players list.  (This might be a Microsoft thing)
    5. Saving - You need to be able to save your progress in a mission at any time or if using a checkpoint system the check points should represent no more then five minutes of gameplay. 
    06-26-2008, 12:30 PM by Carsinigin to Carsinigin
    Filed under: ,
  • An end may be near.

    Video games just don't hold the same appeal this days compared to a couple years ago.   I still play my Xbox everyday but some days I only play a few minutes to keep my streak going on 360voice.  Rock Band has been the only recent game to hold my interest for more then a few months.   I feel like there is almost too many games out there.   My fondest gaming memories are on the original Xbox when live just came out and there were less then 10 good games on Live.   It wasn't hard to find a good match with decent, both skill wise and socially, players.   Now that is almost impossible without setting up a private match and only inviting your friends.  Even friends only matches are hard because everyone is playing a different game each week.

    06-24-2008, 12:16 PM by Carsinigin to Carsinigin
    Filed under: ,
  • Vista speech recognition

    I was looking through Windows Vista's control panel what state today and I found windows Vista's speech recognition.  It just took me 20 minutes to write the first sentence with it.  It looks like the second sentence only took a minute.

    This sucks.

    04-18-2008, 8:46 PM by Carsinigin to Carsinigin
    Filed under:
  • 360voice API and .NET (Part 1)

    A personal project, GamerScoreGoal.com, that I have been working involves tracking Xbox live GamerScore.  One of my personal favorite Xbox sites is 360voice.com where your Xbox 360 blogs about your playing habits.  360 voice has an API set including one that returns the GamerScore history for a particular Gamertag.

    I ended up building a helper class that calls out the 360voice API and returns objects that can be used in .NET programing.   It's simply using the XMLDocument object in .NET and filling in some custom objects that you can consume inside your own program.   I'm only using a subset of the 360 voice API calls but I figure this code can help someone else out there and can easily be modified to include the missing API calls.

    To understand what we need to do we need to understand the API.   360voice is using a simple REST API.  That means that we can request a specific URL and will get back an XML document with the information we want.   Then we can process the XML into whatever format we want.  In this example I want to transform the XML data into in memory objects that I can use in .Net.

    The first API that you'll want to consume is 360voice.gamertag.exists since it checks if the Gamertag you want information on is in the 360voice database. It's also their simplest API and a good place to focus on the basics.  

    The URL we need to get takes this format:


    You replace the Gamertag at the end with the one you want to get.   Then you will receive back some XML that looks like this:


    The XML tag that we are interested in is <gamertag>.  It will be "True" or "False".   So our method in our Helper class should also return a Boolean.  

    I created a class called "API360Voice" and a shared(static) function "GamertagExists" that returns a boolean. 

    Code Step 1 

    Now we want to grab the actual XML from 360voice and load it into an XMLDocument.   First thing we need to do is add the import directive for "System.Xml" to the top of the class and declare an variable to hold the XML Document.   Then we can use the XMLDocument.Load(String) method to read the XML from 360voice.  We just pass in the URL that we want to load into the XMLDocument and .Net takes care of HTTP request and loading the document for us.   You will also want to wrap this in a Try...Catch statement since this includes network access and can throw exceptions if you are not connected to the Internet or 360voice is not accessible.

     Code Step 2

    You'll also notice that I passed the Gamertag string into System.Web.HttpUtility.UrlEncode.   This function will clean up any special characters so they are safe to pass as a URL.   This really helps when you try to implement some of the API's that require you to pass Game names into them.   A few like Rainbow Six Vegas actually have a copy write symbol or registered trademark symbol and UrlEncode will handle that for you.

    Now we have the XML document loaded into memory on our system and we need to process it to get the value of the gamertag XML tag.  So we use the "GetElementsByTagName" method of XMLDocument and pass in "gamertag" as the tag we want.   Since .Net doesn't know about the specific format of the XML document we are working on and XML documents may have more the one tag with the same name we get back a XmlNodeList that we can loop though and process.  In this case will will only the enter the loop once.   Then we just check the InnerText of the node to see if its "True" or "False". 

    So the final function looks like this:

    Final Code


    Next time I'll work on adding the 360voice.gamertag.profile and 360voice.score.getlist.  Where we will create objects that will represent the returned XML.

    I'm also plan on writing on how to take all this and create an image that you could use as a forum signature or badge on your blog.

    I've created a page on the MSDN Code Gallery that will have the source code for this post.  Go to the releases tab and grab API360Voice v0.1



    360Voice API List - http://www.360voice.com/forum/topic.asp?TOPIC_ID=3

    Source Code: http://code.msdn.microsoft.com/360voiceAPI

    02-20-2008, 12:37 PM by Carsinigin to Carsinigin
    Filed under: , ,
  • January Update

    As you may have noticed GamerScoreGoal.com was updated last Saturday, January 19th.  There are quite a few changes most noticeable is the new site theme and the updated user profile, but most of the work was again concentrated on less visible areas of the site.    I have updated the code base from .Net 2.0 to .Net 3.5 to take advantage of LINQ and VS 2008(If you don't know what that means don't worry it's geek speak). 

    New Features:

    • Updated user interface for every page on the site.
    • Updated user interface for the Gamertag Directory
    • Updated user interface for the Games Directory, including sorting by Tag and GamerScore.
    • Added Achievement History on each Gamertag's profile page.
    • Added a details page for each game that lists the games Achievements and players.
    • Achievements can now be sorted by Difficulty and GamerScore.


    I have a lot of ideas for new features on GamerScore Goal but I would like to hear from people using the site.  What would you like to see?



    01-24-2008, 1:04 PM by Carsinigin to Carsinigin
  • Wii Remote Problems

    imageIt's just not my month for gaming hardware.   Since my Xbox is out I though I would fire up the Wii.   When I did I couldn't point to the left hand side of the screen.   I would move the cursor from right to left and right in the middle of the screen it would just disappear like there was an obstruction between the wiimote and sensor bar.   At least my other wiimotes work correctly.   Let's see how Nintendo stacks up warranty wise.


    12-21-2007, 9:41 PM by Carsinigin to Carsinigin
  • Xbox Warranty Return December

    I've made a lot of trips to my local UPS store this month.   Most of them dealt with the normal shipping and receiving of Christmas gifts.  But I've made five trips for warranty replacements of Xbox related items.  I've picked up my empty box for the racing wheel so it doesn't start my house on fire, an empty box for my broken Xbox 360, a box with a new Rock Band guitar,  then I've sent my 360 back (within a half hour of getting the box), and lastly sending my broken Rock Band guitar back.

    I normally can't stand EA, but they were the only ones to do the warranty right.  They sent me the replacement guitar first (taking my credit card number in case I never sent the broken one back) saving me and them the hassle of shipping and picking up an empty box.   Microsoft could do the same thing for Red Rings of Death.  It not like they ever send back the same box and I didn't want that one back anyway.  They just shipped my replacement today and from the serial number it looks like it's a brand new unit. SWEET.  I found a good blog post that lets you break down your serial number and let you know when and where it was manufactured. 

    From: http://blog.iamjay.ca/2007/03/19/your-xbox-360-serial-number/

    To know when and where your console was made, you need the last 5 digits of the serial number.  The first of those five digits is the year in which it was made (5 = 2005, 6 = 2006, 7 = 2007).  The next two are the week in which it was made (01 = 1st week, 02 = 2nd week up to 52 = last week of the year).  You can use this calendar to pinpoint the exact month.  The last two digits is where the console was assembled (05 = China, 06 = China and 07 = China).

    The three manufacturing facilities that assemble the Xbox 360 are Wistron, Flextronics and Celestica.  Wistron has ceased production of new consoles as of this summer.

    I still don't have a tracking number to see if the shipment made it into the UPS system today but my guess it that it will be Thursday or Friday before I get my Xbox back.

    12-21-2007, 8:14 PM by Carsinigin to Carsinigin
    Filed under: ,
  • GamerScoreGoal mid December Update

    This weekend I updated GamerScoreGoal(GSG) with my latest code.   It didn't change much visually from the version that has been online for the last month, but there are a lot of improvements in the back end. This project has really been teaching me a lot about myself as a programmer.  Mostly that I don't have much experience in creating UI and that I love working in databases.

    Last month I planned on feature freezing the back end and forcing myself to work on the UI.  That didn't work out.   I found myself stuck with a bunch of half finished designs that I didn't like.   So I ending up working on a few new database features. 

    I already had a list of games that I track and looking around Xbox related sites/forums I saw a need for a system to rate the difficultly of an achievement.  The first task was to get and store the achievement list for each game.  My first thought was allow users to rate each achievement and leave it at that.   That seems like an awfully manual process and until I reach a critical mass of active users it was going to be completely useless.  So I decided that if I know the number of users that have that achievement I can compare that to the number of users that have played the game and at least get a percentage.  That's what I'm displaying now, just a simple percentage of the players that have earned that achievement.   So even with a very small sample of gamers it at least gets the achievements ranked in a general order of difficultly. Here is a sample: Halo 3 achievements with difficulty.

    I'll be getting a full copy of Visual Studio 2008 soon so I'm contemplating migrating to .NET 3.5 to take advantage of LINQ and the new HTML/CSS design tools.  GSG was first prototyped in VS2008 beta2 and I knew I wanted to transfer over to 2008 as soon as I could get my hands on a full copy.  I know the evaluation version is out now and I've got a copy of that but I just don't feel safe migrating the project until I have a full non-expiring version on all my dev machines.

    I feel I need to come up with a simple road map for the dev of GSG.  I have a vision of what features a 0.9 version of the site will have.  But I don't have a clue of what the site will look like visually.   So unless there is graphic's designer out there that wants to work for free and is interested in this project I'm in for a lot of work and growth.

    12-17-2007, 2:44 PM by Carsinigin to Carsinigin
    Filed under: ,
More Posts Next page »
Powered by Community Server, by Telligent Systems