Ben's Busy Blog

My personal online journal of daily accomplishments and setbacks  
Collision and The Big OWednesday, April 01, 2009
I was getting hung up in SpaceHook because I felt it was time to start implementing collision, which I then realized was something I'd never done before. I had absolutely no idea how to deal with it. I decided that I would try to create a much more simple test game that focused heavily on collision. I sat down and tried doing a code jam and see how that rolled out. The basic concept was to have walls, immobile gun turret type enemies, and a mobile protagonist. Everything would have simple flat shaded geometric representation. Along the way I thought of a fun twist that could be a cool hook... but we'll wait and see if I put that mechanic in. Unfortunately the idea of just powering through focused a collision mechanic didn't work out. I hit the point where I had the basics, but I still didn't know how to implement collision. It didn't seem to be something I could just blunder through.

So I started looking around for XNA collision tutorials. I came across this article on polygonal collision detection by Nick Gravelyn. This was refactored by another person into an object oriented solution. Neat stuff, but I bookmarked it for later as being advanced beyond what I was looking for.

Instead I've been working my way through a series of tutorials on creators.xna.com. There are multiple parts and each part builds upon the previous: 2D rectangle collisions, then 2D per-pixel collisions, and then 2d collisions with transformed objects. It's interesting stuff, but it also feels very remedial. I have to suck up my pride and accept that although I can program already, I have to be patient and take baby steps to learn this new stuff.

I'm intrigued about the extensions of this though. What really is the best way to efficiently handle 2D collisions? Per-pixel is the most accurate, but very resource intensive as it requires stepping through each pixel of each bitmap. You can cut down on that by gating each per pixel collision with a weaker form of collision detection. In this case, assigning each object a bounding sphere (or series of spheres) allows you to do a relatively cheap comparison. You still have to compare each object against each other object, which if I'm recalling my big O notation correctly, it's O(!n). How do you reduce after that? Binary space partitioning? Or am I overthinking this and I can just trust blindly and safely in the computing power at hand?

Labels:


 
Lets see if this takes off...Thursday, March 26, 2009
So I've had this blog for a while, not that I've been keeping it up for quite some time. This blog, although personal, is public. I'm not very concerned about making statements on here that would interfere with my personal life, as I'd like to think my internal editor is wise about "Hey, I don't think your wife would appreciate that." The problem was that, be it fair or unfair, your personal blog has become a factor for people making considerations about your professional life. Ouch...

I like to reflect on a lot of different things, many of them completely embarrassing in a professional milieu. I'm well off job-wise at the moment, but internet archives are deep and Google is fast.

But I want to express myself. Furthermore, I like the idea of having something to chart my own progress by, albeit qualitative instead of quantitative. So I'm going to try to bring this back online and see how it does. Wish me luck.

As for content? Well, I went through a phase where I was making an effort to post commentary on games. At the time I was reading a lot of the games critique cognoscenti*: Krpata, "Iroquois Pliskin", Brainy Gamer, etc. I also was posting frequently on the GameSpite boards (founded by Jeremy Parish). Since you are what you eat, I'd gotten a notion that I should try to do that. It wasn't a good fit for me. I wasn't that interested in this. I have a drafts that just died on the shelf. There are plenty of motivated people out there offering their insights on games. I didn't produce much because of what I see as a lack of need both internal and external. Forget that. Game commentary will only come up if I'm moved to do so.

I do want to post about programming and my discovery of programming topics, about my progress with personal programming endeavors, etc. I'll also talk about home improvements and other things, I'm sure.

Furthermore, I know that pretty much nobody but me is guaranteed to read this. That is okay. I'm doing this as a process of self-refinement primarily.

* I say this in loving jest only.

Labels: , , ,


 
A rhetorical questionFriday, November 07, 2008
There's been a lot of discussion of the relative qualities of Fable 2 and Fallout 3. Both have been getting good reviews. Fallout 3 may have a slight edge in analytics due to Molyneux's historic cycle of over-hyping people's expectations, but both games all got solid reviews in the press.

So, which do you think you'll play first?

I'm thinking I'll be playing Fable 2 first. I have greatly enjoyed the previous efforts of Bethesda, to the point of having even purchased the collector's edition of Oblivion. I've had my fun, that's for sure, but those open-ended days also coincided with a much quieter time of life. Now I'm squeezed for time and always feeling like I’m under pressure. Furthermore, a realistically depicted post-apocalyptic wasteland sounds depressing. I'm going to opt for the happy funny corrupt kiddie-land feel of Fable 2.

Also, Fallout is affected by the 360 vs PC thing, where mods may improve the main game in time, but would require purchase of hardware to do this. Fable is going to always be the same game. I do look forward to the day I play Fallout 3, but it's farther down the road.

Of course I'm not going to buy either right away. There's renovations and programming and family time and my wife's schooling and work and...

Labels:


 
The Art of BraidTuesday, August 05, 2008
And now I'm writing about Braid, the game that's better than yours, you plebian. Of course I kid. Jonathan Blow's opinionated presentations have drawn great interest to his game, and a little antipathy to himself. But regardless of whether one's sensitivities have been inflamed by the denunciations of the auteur, the game's worth discussing. In this instance, I'm referring to David Hellman's Art of Braid article now available at Gamasutra. Hellman's display of iteration during the collaborative creative process offers useful insight into the refinement of thoughts from the idea bucket into a finished product.

The part that I enjoyed the most was the final page of the article, where Hellman broke down an individual scene by its layers. I really enjoyed seeing not only their development tool, but also seeing how they had composed the different layers. Subtle lighting effects in one layer enhanced the shadows on the grass. I want to discuss this more, but what I'd really love is to take the images and set up some rollover effects in order to better reveal the subtle differences between layers. Unfortunately, not enough time today. Too bad Gamasutra's online articles reflect their print-based roots and don't allow for advanced media.

Furthermore, I'd like to note that Hellman made several references to how during the development process, he had wanted to get parallax scrolling of multiple background layers set up in Braid. Boosted by no small amount of nostalgia, I would have greatly liked to see this effect on display, but sadly, I can't think of a single Braid video that had scrolling un-obscured. Ah well...

Labels:


 
Halo 3's graphical effectsThursday, July 24, 2008
Today on Gamasutra, there is a good but relatively brief interview with Bungie's lead effects artist, Steve Scott. I personally have met with relatively little discussion of how advanced graphical effects are produced. I enjoyed reading it.

Labels:


 
Programming ResponsivenessThursday, July 10, 2008
Gamasutra had a great article today on "Programming Responsiveness". It was by Mick West, co-founder of Neversoft. Apparently he's got his own website, Cowboy Programming, where he comments on coding issues. Based upon how much I enjoyed his article at Gamasutra, I'm going to have to make a point of skimming that site more often. He also has a personal blog which contained a neat bit on how he wired up his condo by using the electrical outlets. A man after my own heart there, as I'm working on problems running lines in my new house. On the other hand, I'm willing to bet that his budget far exceeds mine. Until I can tap my brother's home alarm installation experience, I'm going to stick with my workaround of running coax up the handrail of the stairs and then putting a rug over it when crossing walkways, so as to better avoid killing myself.

Oh, and I did beat Bioshock. Twice actually, as I ran back through much more expediently in order to 100% the achievements for the game. This was a few months ago, so I won't try to comment on the game at this point. On the other hand, I picked up Thief: Deadly Shadows off of GameFly, so there's another potential "Late to the Party" possible. On the other hand, I'm still busy doing things like unpacking boxes and hanging medicine cabinets.

 
Late to the Party: BioShockFriday, February 08, 2008
Inspired by this post over at Ascii Dreams, I started thinking about the games I've played. The games I finished, the unfinished and my pile of shame (Those games you never quite get to*) Why did a game wind up in one category or another? This was fruit for thought.

Of course, being your intrepid everyman, I am not reviewing your bleeding edge stuff. I'm casting my eyes backwards. In this frame of mind, I bring you Late to the Party.

BioShock - STATUS: Unfinished
Now how's this for an embarrassment? It's been out for months and I've barely left Fort Frolic! BioShock is a game I greatly respect and enjoy. I love it, and yet I'm turning it into a slog. When I come home tired from a day of work, it's just so easy to reach for a Tony Hawk or Crackdown, as opposed to the careful attentive playthrough that I feel BioShock deserves. So often, I'm loading it up like I need to punch a timeclock. Why? The rich environment and intricate narrative make it into a poundcake of a game for me. It's just heavy with goodness. When a story features the complex interplay of Randian philosophy versus selfishness and hubris, that's something that requires intensity and attention to detail. Now don't misunderstand me here. Bereft of its rich narrative, BioShock would be a pale imitation of itself, and wouldn't be a must-play experience. I wouldn't change a thing (aside from getting myself stuck inside a wall in Fort Frolic).

So things stays the same, I find myself home at the end of the day and thinking about unfinished projects, social obligations, and spending time with my lovely wife. When I can play something of my own choice, I rarely play BioShock, because when I play that game I want to have peace of mind. I want to be able to turn the sound up and the lights down. I want to know that I will not be interrupted. I don't get that enough. Oh BioShock, why are you such a selfish mistress?

* An amusing aside is that the 1UP Yours team actually managed a pile of shame squared by starting a feature about neglected games, and then neglecting that feature.

Labels: , ,


Sponsored by