Software Engineering Roundtable posted 3/25 at 11:43:28 PM PST by Kevin Hawkins
Note: The below is an opinionated-editorial of the software engineering roundtable.
Seeing as how one of my primary software interests lies in the topic of software engineering (and my master's degree), I dragged Dave with me to the first roundtable of its kind this week, "By the Books: Solid Software Engineering for Games", held on Wednesday morning at 9:00. You can find a summary of this roundtable and the other software engineering roundtables at www.convexhull.com.
I went into this roundtable wanting to find out what the games industry was doing with software engineering practices. I've heard plenty of complaints about how software engineering practices were being used but just not working in the games industry because of the creativity, the constantly changing requirements, or the fast-paced environment. I was curious about this, because the current project I'm on is rather fast-paced for the amount of work we're doing in the short schedule we have, and we have had a set of rather fluid requirements throughout the development cycle. We're also operating on a minimum Capability Maturity Model Level 2 process, meaning I know the basic software engineering practices are possible in a fast-paced, fairly chaotic environment. So, I went into this roundtable wanting to hear the horror stories from the games industry. I wanted to know the real problems. Please note that I did not participate verbally in this roundtable. I was there simply to observe and record thoughts.
The moderator Noel Llopis kicked the roundtable off by asking the room the question, "What is software engineering and why is it important for games?" Here's the list the room gave:
Being an outsider to the games industry (I'm in the simulation industry), I thought the list for the most part was rather typical of software engineers. However, there is a distinct parallel across all of those items that nobody in the room noticed: management. Software engineering is about organizing the software development process in every aspect from requirements through testing, or effectively, software engineering is about management: management of your people, your processes, and your tools. My first thought was that the games industry has just had a hard time managing all of these facets of development, and that maybe all of the complaints I've heard about software engineering practices not working in the games industry were true (note that I have heard plenty of successes as well). But it appears the problem was much deeper than this..
Next, Llopis asked about techniques being used in the industry that either people's own workplace is using or techniques that they have heard are being used throughout the games industry. I wasn't able to get the entire list, but I came close:
My personal practice and belief in software engineering is that you should perform the minimum amount and mix of best practices necessary to allow your team to efficiently and effectively perform through an organized and complete development process. So, seeing this list, I thought to myself, "Okay, that's good. They're trying alot of the good SE practices." But, I wasn't convinced yet.
Llopis decided to concentrate on just a few of the items on the list: coding standards, code ownership, code reviews, and automated builds. While many people were using these techniques and being successful, some were struggling. However, one theme seemed to run throughout each of these topics: discipline, or a lack thereof. For instance, while coding standards were being discussed, the people who said they have not had good experiences with a coding standard on their projects said that nobody followed the coding standard, so it was seen as a waste. For code ownership, the failures were simply due to people not following the project's code ownership policies. For code reviews, many people had reservations because there was no way to enforce proper and strict code reviews (many people would pass code reviews without actually looking at code). Automated builds had similar results, but by the time we hit the topic I was tired of writing. :)
Essentially, people are having an issue with team discipline, but I was amazed that nobody realized it. Rather than look at their company or project culture, they looked at the software engineering practice as being useless. Meanwhile, they have people on their projects who are not disciplined enough to follow project standards. That sounds more like a cultural issue to me than a software engineering issue, and possibly a much deeper issue with the gaming industry as a whole. It's not because of the fast-paced environment, the changing requirements (which are very manageable by the way with a little basic process), or the "creativity". It's because some projects in the industry have allowed their team to lack discipline and professionalism. Games industry: start enforcing discipline and professionalism in your employees, and I guarantee much better success and improvement in the quality of your games. At least, in terms of the software quality. :)
Production keynote: Dave Perry posted 3/25 at 3:48:36 PM PST by Tiffany
Today I attended the "Production through Collaboration" keynote by Dave Perry. The subject was "Escalating demands on the Producer". Dave's talk covered aspects of game production and focused on some key aspects of the game producers’ role. One of the things Dave talked about was "what makes a great game producer", some points were time management, licensing, branding as well as hiring and interviewing, some qualities in a good producer were said to consist of Positive attitudes, forward thinking and many other defining characteristics. Dave also went into "getting your name out there" (something I also believe is very important) he mentioned methods such as using a publicist, branching out of your job description and attaching your name to brands. Another area Dave covered was "Pitching" he described the importance of understanding how to sell your product and throughout the talk put emphasis on adding talent to your product and giving credit to those who worked hard on the project. Overall it was a very informative 60 minutes.
Microsoft Party posted 3/25 at 3:33:05 PM PST by Ron Penton
So we were all invited to a Microsoft party in the Hilton today. On paper, it sounds exciting... but in reality it was poorly planned, and ultimately, a waste of time. I mean sure, if you like hanging out in an overcrowded room eating seafood and drinking alcohol, you'd probably have a grand ol' time. On the other hand, if you prefer to be in the presence of people at a rate of less than 5 people per square meter, don't like seafood, and don't drink, well it was kind of a bust. I managed to stay for 15 minutes before I decided to leave, and I snagged these pics:
I am still a self-promoting whore posted 3/25 at 10:13:34 AM PST by Ron Penton
Remember, hacking is more than just a crime. It's a survival trait. posted 3/25 at 10:07:00 AM PST by Ron Penton
I started off the morning by heading over to a Trymedia-sponsored lecture based on security, entitled "Security in an Unsecured environment", given by George Goodman, an engineer working for Intel. Security topics haven't really been covered in detail prior to this year, so the whole security-track sponsored by Trymedia is something new this year.
As I had anticipated, it was a very interesting presentation. At first, I had my reservations; after all, who doesn't loathe security engineers? They're the ones locking down your computer and requiring all those annoying "Must insert CD to play" conditions on your games; but this guy was down-to-earth.
He was mostly into audio and video protection methods, so a lot of his lecture revolved around those ideas, but those concepts are also related to game-based security as well. One of the most interesting things he mentioned was that most companies would actually prefer not to have draconian laws like the DMCA to take care of copy protection, but instead they would like to keep the government out of it; but unfortunately things don't always happen like that.
Another thing he talked about is the need for a unified content protection system; at the moment we have hundreds of different protection systems in use at the same time, and none of them are compatible with each other. At the moment, high-tech protection systems require a lot of extra processing power, but since things like audio and video are relatively simple to decode, they can use those systems quite easily. Unfortunately, things like games quite often stretch the limit of available processing power, so high tech realtime protection systems aren't really a viable option at the moment.
Some protection methods he mentioned that they are looking into using on games were quite interesting; for example, some systems will keep all executable code encrypted until it is time to actually run the code, at which point it decrypts the code in real-time and runs it. This will make it incredibly difficult for anyone to disassemble the code.
Another thing he mentioned was the new processing architectures coming out from AMD and Intel that physically disable self-modifying code, a classic technique that hackers use to get around copy-protection systems.
Overall, the digital content protection industry is going to get really interesting in the next five years.
The next lecture I attended was also sponsored by Trymedia; it was a continuation of the protection series. This lecture was entitled "Inside The Hacker Mind", given by Andres Torrubia of Trymedia Systems. Basically the lecture was about hackers; what they do, how they do it, why they do it, how they organize, and so on.
He made us aware of something that I had no idea existed; entire universities where people are taught to hack into games. I really had no idea there were such things, but apparently there are literally tens of thousands of people out there who attend these things.
Anyway, the most interesting part of his lecture is where he showed us how to perform a very simple hack of a program that detected if it was running on a CD or not. Basically he had a small program that would check to see if it was being run off of a removable-storage device, and if it wasn't, it would show an error.
He popped open a debugger, found the place where the check was performed, and altered the code so that the program always thought it was running from a CD, even if it wasn't. Overall it was a very cool presentation, and anyone who is interested in security should have learned a lot from it.
There were three other security lectures today as well, but I didn't have time to attend any of them. Maybe next year!
MS Games Party 1 posted 3/25 at 9:19:06 AM PST by Gaiiden
Microsoft threw a suite party up at the Hilton today, so I decided to check it out. They had several XBox games set up, like Unreal Championship 2, Rally Sport 2 and Sudeki, along with the Rise of Nations expansion pack Throne of Patriots. I love RoN so I hung around the PC most of the time, checking it out. I thought it was kind of dumb that all the XBoxes only had the default two controllers each. What, MS couldn't spring for two more so four people could play? Come on. The food was really good tho. Mmmm food. I didn'y stay too long or play any of the XBox games - it got crowded quick. But I did take a few pics.
IGDA Annual Luncheon posted 3/25 at 9:15:23 AM PST by Gaiiden
As usual the IGDA held it's luncheon for all of its volunteers and coordinators and contributors and board members... okay so obviously not all of them, but the one's who RSVP'd at least. It was once again at the Il Fornaio resteraunt in the Hyatt Saint Clair across the street from the convention center, and the food was pretty much the same as last year, that is to say it was good. Kathy Schoback, chairperson of the IGDA, got up to say a few words, followed by a representative form Kaydara, which was spnsoring the luncheon. Kaydara was also having a drawing for some of their software. I dropped my card in so we'll see. Jason Della Rocca, the IGDA program director, also said a few words, the one's that stuck in my head were of course "eat all the food!". I tried my best to comply.
Computer security seminars posted 3/25 at 8:49:06 AM PST by John Hattan
Trymedia.com sponsored a series of sessions on computer security today. Sponsored sessions can be a mixed bag. Sometimes the company is genuinely trying to show you a technique or teach you something, but sometimes the seminars are just an hour-long infomercial. Thankfully, Trymedia's were an example of the former. The one I addended actually contained a live hacking session, in which the presenter, a software cracking expert, showed how to patch an executable so that it'd think it was running from a CD-ROM even though it was running from the hard drive, a common simple protection technique. He also discussed how their stuff works and the clever techniques they use to prevent software cracks, like letting the cracker think he's put together a valid patch only to find it won't work later.
Stupid audacious pontificating blowhard question of the day went to an audience member who, during the Q&A at the end, asked "Don't you hate free software because it's going to put you out of business?"
Indie Roundable 1 posted 3/25 at 8:40:53 AM PST by John Hattan
Headed down to the first of about four indie-game-developer roundtables hosted by Steve Pavlina of Dexterity Software. It was actually quite informative and, unlike the 8-hour summit, you didn't have to suffer through stuff you don't like to get to the meat. I learned that services like realarcade can get you some sales, but you can often do as well or better selling stuff on your own site, even if you've just got one or two games. There's another similar roundtable today and still another one tomorrow. I'll likely forego today's roundtable in favor of the browser-games roundtable. I got a lot out of that one last year and look forward to attending it again to see if the landscape for browser-based games has changed much.
Concourse Gallery posted 3/24 at 11:11:41 AM PST by Gaiiden
Since the conference is now in full swing, I walked around the convention center concourse and took a few pics.
... posted 3/24 at 10:27:26 AM PST by Ron Penton
I still, however, have not seen any pies. There are three times more people here today, so logically, the pie-sighting likelihood is also three times higher... so we shall see...
Day Three. . .WHEEEEEEE! posted 3/24 at 8:20:14 AM PST by John Hattan
Now's where the fun begins. All the non-tutorial sessions open today, and the expo floor opens this morning. The population of the GDC will increase about threefold today. It'll be a zoo.