Categories
Geek / Technical

Goblet of Fire

I went to the midnight showing of Harry Potter and the Goblet of Fire. I didn’t get to sleep until after 3:30AM, and I had to go to work today too. I’m dead tired.

The plot and dialogue seemed to move at a very quick pace in the beginning. I started to wonder if they purposely gave the older actors less lines. I also found that the movie deserves its PG-13 rating, and not just due to the parts with Voldemort, death, and destruction. There was quite a bit of sexual inuendo, and I felt that the movie would have fit at home in the 80s for some of the campy-ness. I mean, there is the dance scene, and Hagrid’s hands move “below the equator”, only to be moved back up by Madame Olympe Maxime. Wasn’t that right out of a movie like Revenge of the Nerds?

Not that it was bad. I really enjoyed the movie. It was both funny and disturbingly scary.

Categories
Game Development

Oracle’s Eye Development: Kicking the Ball

Oracle’s Eye development has been fairly slow since I started it in August. I’m trying to get working on it earlier in the evenings I have dedicated to development, but I find that I usually don’t get started until late at night. When I finally get into a groove or otherwise in The Zone, I learn that it is 12:30AM or 1AM and I need to go to sleep.

In any case, I finally accomplished another milestone. The Player can now kick the Ball around!

I won’t go into too much detail, but I found that I didn’t have to make too many changes or additions. I was originally going to create a somewhat robust Event handling system, but someone reminded me that this is supposed to be a VERY simple game. I am allowed to hardcode it for now. I can always add the Events if I find I actually need them in the future.

I am also trying to remember not to over engineer. I found that hacking things out didn’t cause as many problems as I thought it would. I added an enumeration for Direction: UP, DOWN, LEFT, RIGHT, and STOPPED. Doing so allowed me to keep the code I already had to move the Ball around. I just had to check which Direction it was moving and apply negative signs to the moveX() or moveY() functions as needed.

I then added a check to the GameWorld’s move* functions that control the Player. Now instead of just checking if it hits a Wall, it checks if it hit the Ball as well. The Ball then moves accordingly. It’s a simple check; the collision detection isn’t very robust, but it gets the job basically done. The Ball gets stuck if it hits the Wall for some reason, and the Player can move through the Ball if it is moving faster, but it works. I’ll fix it later.

My next chance to work on it will be Sunday, which is when I scheduled all-day development on Oracle’s Eye. Ideally that means eight hours to work on the project, but if past performance is any indication, I will probably get two, maybe three hours out of it. B-\ With a Ball being kicked around, I would think that it shouldn’t be too hard to create an Exit and apply a new check to see if the Ball hit the Exit. After that milestone is hit, I technically have a playable game. It’s great to know that my one month project is almost “completed” after almost four months. B-)

Categories
Game Development Games

IGDA:C Event: Stubbs the Zombie Post Mortem

After guests arrived and signed up to win a few lightsabers courtesy of Virtual Partners Training Center, Carrie Gale introduced Alex Seropian.

Seropian is the founder and president of Wideload Games, Inc. He left Seattle after selling Bungie to Microsoft and creating Halo, coming right back home to Chicago. He talked about the guiding principles for Wideload and about the unique team management and development model used by the team. The post mortem is more about the way the company worked than anything else, and it made for a good presentation.

He talked about how Wideload was founded to create and develop original games. While everyone else is doing one thing, he wanted to take Wideload in a different direction entirely. To help, he came up with the Wideload Commandments:

  • Thou Shalt Establish Creative Direction
  • Thou Shalt Own Thine Own IP
  • Be Nobody’s Beeotch
  • Keep Overhead Low

He elaborated by talking about how the Wideload brand should mean something to fans and be independent. It’s a lot easier to be original when you don’t need to worry about appeasing a completely different party, especially if that party owns the copyright and trademarks over your head. Wideload was going to be able to dictate its own success, create its own value, and try to make deals with partners that have the same goals. Alex also mentioned how there shouldn’t be a sharp ramp up and down between projects. Even though costs and requirements are increasing, it was possible to limit costs by keeping the team small in the first place. He touched upon Brooks’ Law and noted that with the smaller team, communication was faster and there was reduced overhead. Talent was hired as needed instead of paying for a huge team that would be ultimately underutilized.

What Went Right

Alex noted that the ease of communication helped to foster a truly creative environment. People weren’t worried about saying the wrong thing in front of management, and so any idea could be acted upon and developed by anyone within earshot. Some of the zanier ideas made it into the game.

They had the ability to say no to bad deals and didn’t have to live hand to mouth. Mutually beneficial deals were easier to get than they might have been for another developer.

The cost structure helped mitigate costs, even though they ran four months behind schedule. They paid for the assets they needed instead of paying the salary of an artist, for example.

They contracted out work, and they scaled up and down as needed. They weren’t stuck with employees that could negatively impact an otherwise massive team.

They made use of local talent. Quite frankly, Chicago rules when it comes to game development.

Wideload also leveraged the Internet to get shorter iteration cycles, which led to more iteration cycles, which led to improvements that wouldn’t otherwise be possible. The real time communication and concepting forums helped keep everyone on the same page, even with the contractors.

What Went Wrong

Unfortunately, the proprietary engine they used (Halo) didn’t have a lot of documentation. There was the question of it being worth the effort of training a contractor who will only be on the project for a few weeks.

While the contractors were great at keeping costs low, Alex found that hiring was difficult since there weren’t many reference assets and tests available. There wasn’t a single producer, and someone needed to manage the art direction and contractors. This task fell to the internal staff, which took them away from the actual work they might have otherwise been doing. The resulting feedback delays lengthened iteration cycles.

Crunch mode still occurred, and the contractors were not going to crunch for the internal team.

Conclusion

In the end, the “Grand Experiment” was a success. Stubbs the Zombie shipped and Wideload is still around to make another game. By keeping control of the creative direction of the company, the size of the team, and the budget, Wideload was able to create a funny, original title with few major obstacles. With major figures in the game industry warning us about the rising costs of game development, perhaps Wideload’s development model might inspire others.

Categories
Politics/Government

Even More DRM Stupidity

DRM: A Personal Story is another excellent article from ZDNet on the topic of Digital Restrictions Management.

The Digital Millenium Copyright Act was supposed to be legislation to update the copyright laws to protect copyright in an age of computers and one minute downloads. The biggest change to come from it was the idea that circumventing copy protection, no matter how simple and no matter what your intent, is now a felony. Unfortunately, technology talk goes over most heads, and when you mix in copyright, most people will have their eyes glaze over.

Well, this article makes it quite clear how DRM and the DMCA can affect customers adversely. Imagine trying to take a copy of a television program from your TiVo and copy it to your new video-playing iPod. It’s easy. It’s simple. It’s a felony.

And the fact that it is a felony is stupid.

Let’s ignore the fact that it is already illegal to upload a copyrighted file to a friend and that making it illegal to circumvent copy protection is just absurd overkill that doesn’t do much to discourage it anyway. What public benefit comes from turning your customers into felons just because they wanted to interoperate with other devices they own? You know, Fair Use? The reason why I am allowed to use my VCR to copy a television program for later viewing? The reason why I can take a VHS tape and convert it to DVD? The reason I can rip my music collection to OGG Vorbis or MP3 and play it on my computer? Why do my potential Fair Use rights have to be nullified simply because it would be illegal to take action to exercise those rights?

Who benefits? TiVo gets to keep its business model? Yeah, that’s nice. I can only watch a video on a device because that device makes it impossible to play the video on another device without requiring a law to be broken.

So, I will never get a TiVo. I will never get an iPod. I will never get a device that prides itself on being so proprietary and restrictive.

I would really love to read some decent pro-DRM articles, but any that I’ve found are just spreading Fear, Uncertainty, and Doubt. I really don’t believe that paying $15-$20 for a Dave Matthews CD and ripping it to my computer would actually bring about the downfall of the music entertainment industry. I really don’t think that the lack of a Broadcast Flag on television signals is going to destroy television. After all, the VCR didn’t bring about the ruin of the movie industry, even though the movie industry would have loved to have made the VCR illegal.

Categories
Geek / Technical

My 15 Minutes

Your 15 Minutes is probably going to be one of those Internet phenomenons, and so I wanted to be among the early birds to mention it. You basically upload your photo, provide a short blurb, and now you will be featured on the front page of the website for 15 minutes.

Sorry, but I don’t have too much to say about it yet. I guess it is just First Post Syndrome. B-)

Categories
Game Development

Oracle’s Eye Development: Un-Eventful

This week’s Oracle’s Eye development wasn’t too fruitful, but I did spend a bit more time trying to figure out what I needed in the first place. The lack of actual code doesn’t bother me so much now that I have some ideas of the problem domain.

The problem domain of the moment is the Event system. I don’t want to hardcode the movement of the Ball and the Player since I might want to tweak the way things are handled. I’ve had a general idea of how the Ball and Player should interact, but I haven’t explicitly defined it.

So while in the middle of a presentation last week, I started to write down some ideas. What is it that I am trying to accomplish?

Well, I want to finish the game. How do I do that? Well, I’ll basically need to allow the Player to end a Level by kicking the Ball into a Goal. That line basically sums up what would make this game into a game, regardless of the amount of fun possible. The idea is that if I can do that, I can then design as many levels as I want, but the basic game is complete.

Well, how do I get to that point from here? Currently I can move the Player, and the Ball can also be moved, but I don’t have a clean way of keeping the Ball stationary until the Player touches it. I also don’t have a way to tell the Ball when to stop moving when it hits a Wall or the Player.

What I need is an Event handler and some Events. I need some indepdendent system to handle things such as telling the Ball when to move and when to stop moving. I need something to decide that the Level has been completed or needs to be reloaded. How about the creation and destruction of objects during a game? Maybe there are four Balls, and when one gets into the Goal, it disappears.

Now, when the Player collides with another object, the GameWorld can create a CollisionEvent, or maybe it knows that the Player hit an object of type Ball and so creates a KickBallEvent.

I’ve read a few tutorials and the book Game Coding Complete, and so I should be able to come up with something workable fairly easily. Well, maybe not too easily. Still, once I get an Event system working, it should be much easier to make the Player kick the Ball, to get the Ball to enter the Goal, and to let the game know that the Level has ended.

Or at least that’s the theory.

Categories
Politics/Government

Today’s Juxtaposed Headlines

The Chicago Tribune: “TERROR STRIKES JORDAN”

The Chicago Sun-Times: “SEX BLANKETS TV”

Both are supposed to be alarming headlines. The sad thing is that I think more people would be shocked and concerned about the latter. Last I checked, tens of people weren’t killed by televised sexual innuendo exploding into their living rooms.

Categories
Games General

Huge Game Industry? It Ain’t

Five Step Program to Move Beyond Game Geek Culture points out the fact that the game industry is actually a lot smaller than it should be.

It’s a good read, even though it takes a few paragraphs before you get to the five steps:

  1. Stop fixating on the current game market
  2. Stop listening to your gut
  3. Learn about product design
  4. Surround yourself with other perspectives
  5. Build an integrated business plan

Now, quite frankly, it is for the reasons given that I think Nintendo’s Project Revolution can do so well, even if the system will be underpowered compared to XBox and PS3. Will Nintendo will be able to convince people who didn’t buy games before to buy a game system to play games? I think that would be the main stumbling block. But R.O.B. got the original NES on shelves when no stores wanted to deal with video games after The Crash in the early 80s. I’m sure Nintendo can figure out how to market their projects.

Categories
Geek / Technical

November IGDA Meeting

Tonight is the IGDA:Chicago chapter’s meeting for November. Alex Seropian of Wideload Games (and Bungie fame) will be giving a post mortem on Stubbs the Zombie.

I’ll be volunteering again, so if you show up, I’ll take your money. I don’t know if they will be selling shirts again.

Categories
Geek / Technical Politics/Government

I Would Like My Digital Rights Back

Rant Mode Equals One: Score: Digital Privacy 0, Digital Piracy 1 is an interesting article talking about the problem with digital piracy.

But not the kind everyone thinks about. It isn’t trying to defend the movie, computer, and recording industries with their draconian copyprotection and laws. It’s an article arguing that individual rights are being compromised.

How does Sony get away with putting a root-kit on your system? Why is any company allowed to compromise the security of your computer just so they can determine that you haven’t made a copy, whether legally or not? And why are laws being passed to allow it?

Yeah, thanks, but no thanks. I’ll just keep control of my own computer.