If I were to walk out of the house one day (god forbid) and everyone spoke to me like the real world was XBL, I’d probably be even more of a hermit. One might think this would be the case when attending a gaming convention. However, it’s quite the opposite. I had the opportunity to attend MAGFest over the weekend. I talked gamers in the registration line, at the nightly concerts, arcade, and LAN Room. The entire time I was never called a noob or informed that I should QQ. In fact, most of my conversations involved genuine interest in me as a person, and not as a gamer. Games did come up as a topic, but mostly as a reference point. For example, most people might use the reference of Michael Jackson dying. However, gamers might use the reference of Halo Reach Launch night. (I got the standard edition from Best Buy that night.) But, overall, the conversation was much more than games. These were educated conversations with educated people. If they weren’t in college, they already had their degree and were working in some pretty impressive Fortune 500 companies. My point is, the conversations I had at MAGFest were nothing like my conversations on XBL.

Some who know me might ask, “You’ve been to E3 and GDC, why are you just now realizing this?” I had previously given E3 and GDC a pass because the attendees are mostly developers and journalists. You see, the developers have to behave because they are trying to sell something, and the journalists, well; it’s their job to communicate. However, MAGFest is the first time I’ve to a convention with mostly gamers. This is why the conversation discrepancy is just now dawning on me.

So, this begs the question, why is there such a conversation discrepancy between gamer tag and real life gamer? It would be easy to say, “It’s because there are a bunch of 12 year olds on XBL.” (I should point out that I’m just using XBL as an example. I’m really referring to online gamers in general. Sorry if I offended anyone. But, you’ll probably take it out on me online anyway.) But, I don’t buy the 12-year-old excuse one bit. I’ve seen you guys, you’re not 12. And the ESA stats back that up. In fact, some of you probably have 12-year-old sons you are using as decoys. Stop that! Another answer may be that online play brings out the worst in you.

That’s right, it’s The Strange Case of Dr. Henry Gamer and Mr. Edward Gamertag.

For some reason, when these articulate and well-educated gamers get behind their gamertags, they become meme spouting, nerd raging beasts. Hunched over from hours of leaning towards the screen in the heat of battle. Their eyes turned blood red from starring into the screen for stretches of time that would be considered too long by work standards. Temperament made more difficult than a 2v6 Insane Zerg Comp Stomp, sent into nerd rage by teammates who don’t see things their way or have no idea what they are doing. The transformation has been made. Dr. Gamer has now become Mr. Gamertag.

Rational converse has been swapped with memes like, “You’re doing it wrong.” Tolerance has been suppressed by the urge to spew racial slurs and rage quit. And patience is distant memory; long forgotten like something you’d download from gog.com. While Dr. Gamer would have welcomed these attributes, Mr. Gamertag as no use for them. Mr. Gamertag sees these things as acts of civility that have no place online. Mr. Gamertag actually enjoys being unshackled from the chains of morals and mores. This freedom sharpens his killer instinct. It gives him the confidence to compete. And it allows him to leave behind the weak with less than a glance.

What causes this transformation? What’s the “potion” that triggers the metamorphosis? Some might suggest it’s simply competitiveness gone too far. The desire to win leads to sacrificing ones moral standards. Another might argue that it’s all part of the stress release that comes with playing. It’s not just the playing that releases tension; it’s also the bad attitude towards others that helps them take out the stress they’ve received throughout the day on other people. Perhaps it’s the safety of anonymity that gives them the confidence to do and say whatever it is they please.

I’m not sure what the trigger is. But, whatever it is, it’s making online gaming more of a cliché than any poorly written article can ever do. As gaming reaches a broader audience, it’s chasing away people that may have otherwise grown to love it. It’s becoming so common that most gamers have began to expect it, and they are shocked when the transformation hasn’t taken place. It’s one of the few things in gaming culture that could ruin the future of gaming, if we’re not careful.

Wrote a quick C# tool for polling Google every 5 seconds to see if my internet connection drops. And if it drops, when it comes back. Here’s what the polling code looks like:

HttpWebRequest PingIt = (HttpWebRequest)WebRequest.Create("http://www.google.com");
try
{
  HttpWebResponse Reply = (HttpWebResponse)PingIt.GetResponse();
  if (Reply.StatusCode == HttpStatusCode.OK)
  {
    Reply.Close();
    return true;
  }
  else
  {
    return false;
  }
}
catch (WebException)
{
  return false;
}

Attached is the executable. Give it a few seconds to start. Green if your internet is up. Red if your internet is down.
Kickshaw

Still working on Pixcaso. More details on that later. But, I decided to create tiny utility to peice together my 3ds max rendered images into a single sprite sheet. It hasn’t been tested well at all, so download at your own risk.

Here’s most of the code:

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MakeSpriteSheet
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            listBox1.Items.AddRange(openFileDialog1.FileNames);
            listBox1.Sorted = true;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            label1.Text = "Checking image dimensions";
            progressBar1.Visible = true;
            if (checkDimensions())
            {
                label1.Text = "Creating Sprite Sheet";
                MakeSpriteSheet();
                label1.Text = "Done";
                progressBar1.Value = 100;
            }
        }
        public void MakeSpriteSheet()
        {
            saveFileDialog1.ShowDialog();
            Bitmap image = new Bitmap(listBox1.Items[0].ToString());
            Bitmap spriteSheet = new Bitmap(image.Height*listBox1.Items.Count, image.Height);
            int imageCount=0;
            foreach (object filename in listBox1.Items)
            {
                Bitmap objBitmap = new Bitmap(filename.ToString());
                for (int y = 0; y < objBitmap.Height; y++)
                {
                    for (int x = 0 ; x < objBitmap.Width; x++)
                    {
                        Color col = objBitmap.GetPixel(x, y);
                        // Perform an operation on the Color value here.
                        spriteSheet.SetPixel(x + (imageCount * objBitmap.Width), y, col);
                    }
                }
                imageCount++;
                progressBar1.Value++;
            }
            label1.Text = "Saving";
            spriteSheet.Save(saveFileDialog1.FileName);
            Form ImageForm = new Form();
            PictureBox ImageBox = new PictureBox();
            ImageForm.Controls.Add(ImageBox);
            ImageBox.Image = spriteSheet;
            ImageBox.Size = spriteSheet.Size;
            ImageBox.Show();
            ImageForm.Height = spriteSheet.Height+50;
            if (spriteSheet.Width > (Screen.PrimaryScreen.Bounds.Width-100))
            {
                ImageForm.Width = Screen.PrimaryScreen.Bounds.Width - 100;
            }
            else
            {
                ImageForm.Width = spriteSheet.Width;
            }
            ImageForm.AutoScroll = true;
            ImageForm.Show();
        }
        public bool checkDimensions()
        {
            Bitmap image = new Bitmap(openFileDialog1.FileNames[0]);
            SizeF dimension = image.PhysicalDimension;
            foreach (string filename in openFileDialog1.FileNames)
            {
                Bitmap nextImage = new Bitmap(filename);
                if (dimension != nextImage.PhysicalDimension)
                    return false;
                progressBar1.Value++;
            }
            return true;
        }
        private void Top_Click(object sender, EventArgs e)
        {
        }
    }
}

Executable (Recommended)  (10K)

Installer (500K)

Game Development blogs you could be reading:

Greg Seelhoff
Game Programmer
http://blog.gamecraft.org/

Ben Mathis
Freelance Artist
http://www.poopinmymouth.com/

Rick Stirling
Game Artist
http://www.rsart.co.uk/

Nick Gravelyn
Freelance Game Programmer
http://www.nickontech.com/

Trent Polack
Game Programmer
http://www.polycat.net
http://www.gamedev.net/community/forums/mod/journal/journal.asp?user=mittens

J Force Games
Independent Studio
http://jforcegames.com/blog

Brad Wardell
CEO of Stardock
http://draginol.joeuser.com/

Unity Technologies
Multi-Platform Game Development Tool
http://blogs.unity3d.com/

Instant Action
Web Gaming Platform
http://blog.instantaction.com/

Malcolm Ryan
Game Designer
http://www.cse.unsw.edu.au/~malcolmr/

Juuso Hietalahti
Game Producer
http://www.gameproducer.net/

Gianfranco Berardi
Independent Game Developer
http://gbgames.com/blog/

Adrian Crook
Senior Game Producer
http://www.freetoplay.biz

Danc
Game Designer
http://lostgarden.com/

Raphael Koster
Game Designer
http://www.raphkoster.com/

Erik Hjortsberg
Game Programmer
http://erikhjortsberg.blogspot.com/

Steve Swink
Game Designer
http://www.steveswink.com/

Warren Spector
Game Designer
http://junctionpoint.wordpress.com/

Ian Schreiber
Game Design Educator
http://teachingdesign.blogspot.com/

Brenda Brathwaite
Game Designer
http://bbrathwaite.wordpress.com/

Steve Gargolinski
Game Programmer
http://www.alivejournal.com/

William Willing
Game Designer
http://www.williamwilling.com/blog/

Ian Bogost
Game Researcher
http://www.bogost.com/

Tracy Fullerton
Game Designer
http://interactive.usc.edu/members/tfullerton/

Jane McGonigal
Game Designer
http://blog.avantgame.com/

Clint Hocking
Level Designer
http://clicknothing.typepad.com/click_nothing/

Richard Fine
Team Lead
http://members.gamedev.net/superpig/journal/

As a quick note to myself, here’s how I did the conversion:

//opens files
TextReader ts = new StreamReader(FileName);
//converts text 0-9 into int 0-9
if ((hextext > 47) && (hextext < 58))
{
  hextext -= 48;
}
//converts text A-F into int 10-15
if ((hextext > 64) && (hextext  < 71))
{
  hextext  -= 55;
}
//converts text a-f into int 10-15
if ((hextext > 96) && (hextext < 103))
{
  hextext -= 87;
}

Although I wasn’t born yet, I don’t ever recall Pong having a tutorial. The arcade classics that birthed this industry were often simple enough that many people figured how to play the game in a matter of seconds. Even the more “complex” features of Galaga were demystified by a few minutes of game play and chance shots. Game manuals and tutorials were simply not necessary for the majority of gamers in the classic days of the arcade. Generally, a few words from a friend that had spent about an hour with a game was all tutelage you ever needed.

As games saturated into the homes and started reaching a larger audience. Manuals started becoming a common trait of a video game purchase. And as the features of the games grew, so did the size of the manuals. The manual became such a huge part of PC gaming that many of them were well over 100 pages. These manual included most of what you would see in a modern day strategy guide and installation instructions. Instruction manuals for console games, though not as big, were common as well.

At the beginning of this decade, there was a major shift from larger manuals to interactive training built into the game. This reduced packaging size for games which saved self space for retailers. Bringing us to the current ten page or less manual, tucked behind the front cover, we now know and loathe. This, of course, started the strategy guides that GameStop reminds you how much you love every time you exhale in their store. Another popular result of this shift is the tutorial level.

How should gamers be guided? Are printed manuals or strategy guides the way to go? Or would you prefer some type of downloadable electronic reference? Is the interactive in-game method the best way to learn a new game? What do you see for the future of gamer guidance?

After playing a bit of the games that came out late this year. I was happy to see some new IPs score big. But, I was even more happy to see new ideas brought into main stream game design. Games like Katamari Damacy and Portal have kept the innovative spirit alive in the game industry. But, it’s not often you see innovation make it into mainstream titles. Like the the new Prince of Persia’s “no need to reload” system, or the platform controls of Mirror’s Edge. It’s games like these that made me realize, “You’ve got this great new feature”, but you’re using it to make me to the same thing I did 20 years ago.”

Developers need to evolve game mechanics. Some developers are still designing games using techniques developed for workarounds back in the arcade and NES days. Yes, it’s nostalgic to see those things. And yes, they still “work.” But, we can’t move game design forward by clinging to them. I’m actually MORE surprised there isn’t more outrage from gamers still playing through these arcane tactics. The technology is SO much more powerful now, guys. It’s time to use that to do things other that make pretty pictures and moving controllers. It’s time to let go of the constraints of the past. It’s time to redefine the video game.

Pebble to a Peark I have yet to be disappointed in the content of a Nikka Costa album. Since the first time I heard “Like a Feather” and every song that followed, the soul and funk in her sound has captivated me. This album is clearly no exception. Most of the album, as usual, is a showcase of her singer/songwriting abilities. My personal favorites are “Stuck to You”, “Keep Wanting More”, and her performance of Johnny Guitar Watson’s “Loving You.”

If you’ve never heard Costa and you love soul and funk, you’ll enjoy this album. If you’re already a fan, this album will not disappoint.

Here’s a list of game development blogs you could be reading. I’ll update the list as people contribute and blogs are left 4 dead.

/intro

Greg Seelhoff
Game Programmer
http://blog.gamecraft.org/

Ben Mathis
Freelance Artist
http://www.poopinmymouth.com/

Rick Stirling
Game Artist
http://www.rsart.co.uk/

Nick Gravelyn
Freelance Game Programmer
http://www.nickontech.com/

Trent Polack
Game Programmer
http://www.polycat.net
http://www.gamedev.net/community/forums/mod/journal/journal.asp?user=mittens

J Force Games
Independent Studio
http://jforcegames.com/blog

Brad Wardell
CEO of Stardock
http://draginol.joeuser.com/

Unity Technologies
Multi-Platform Game Development Tool
http://blogs.unity3d.com/

Instant Action
Web Gaming Platform
http://blog.instantaction.com/

Malcolm Ryan
Game Designer
http://www.cse.unsw.edu.au/~malcolmr/

Juuso Hietalahti
Game Producer
http://www.gameproducer.net/

Gianfranco Berardi
Independent Game Developer
http://gbgames.com/blog/

Adrian Crook
Senior Game Producer
http://www.freetoplay.biz

Danc
Game Designer
http://lostgarden.com/

Raphael Koster
Game Designer
http://www.raphkoster.com/

Erik Hjortsberg
Game Programmer
http://erikhjortsberg.blogspot.com/

Steve Swink
Game Designer
http://www.steveswink.com/

Warren Spector
Game Designer
http://junctionpoint.wordpress.com/

Where the Light is

If you fell in love with John Mayer’s 2002 live album “Any Given Thrusday”, get ready to fall in love all over again. Although this album also two CDs, it’s a still a bit different. For starters it’s broken into three main sets: Solo, Trio, and Band. The solo is much like Mayer’s early work circa “Room for Squares” era. The Trio is almost a copy of the “Try!” album. In fact, it may be a bit better selection of songs. The band set mostly a “best of” with his lastest work circa “Continuum” era.

Songs you haven’t heard from John Mayer before:
Free Fallin’
Everyday I Have I the Blues
Come When I Call

Overall:
If your a fan of John Mayer, or you’re waiting for a “Greatest Hits” album. I highly recommend you check this one out. I’d say this one is worth about $15 easily.

« Previous Entries