I’m in the jungle! And, Unity is my tour guide

(by Greg Greene)

Coroutines… Raycasting… Colliders, oh my!

Those are just a few things I had to wrap my head around recently. You see, I’m entering the world of game programming. Or, more accurately, the world of Unity 3D game programming.

The guys (and girls) at Unity Technologies in San Fran put together a decent game development system. And, I’m going to talk a little about my adventures (and stumbles) with it so far.

But, first, let’s take a quick step back, and start at the beginning:

Hi, I’m Greg. And I’m a programmer (wow, sounds like a programmer’s support group).

And have been programming for over 10 years– mostly web stuff.

Recently, I’ve embarked down a path to program games. Let just say, the shift has been stark.

For starters, brain neurons (mine) responsible for math stuff, like: fractions, geometry, dimensions, calculating restaurant tips, bean counting– you get the idea– have been awakened by a swift kick in the ass. And, they’re more than a little pissed off about it.

But things are getting better as I push on, and learn how things work, mathmatically speaking.

So with some bumps, I’ve been navigating my way through Unity game development. Programming-wise there’s some high-level differences.

Programming differences; the world of web vs. the world of game

While relaxing the other day, it occurred to me how I could categorize the differences in programming in the world of web, with the world of gaming.

So, here we go. Let’s see if she flies:

Web programming is content focused

Or, in simpler terms: it’s a lot of processing data; strings. Comparing, concatenating (adding together), filtering, rearranging, storing, and even transporting. Yeah there’s more to it, but that’s the gist.

Game programming is more numbers focused (duh, right?)

We can broaden that to: Shapes (geometry– remember pi?), movement and rotation (trigonometry– ohh, nice angles baby), dimensions (widths, heights, depth– x, y, z), positions (again: x to the y, to the z… yo. Ahem.), and even timing.

Throw in parent-based scaling for child primitives, user int
eraction, camera angles (and following) and you got a enough concepts to buzz-saw your brain cells for months.

But let’s stop here and take a breather.

Let’s take a look at what we’re trying to do (or what I’m trying to do anyway): we are creating a game. Our very own 3D game. As a programmer, I can’t think of anything more gratifying than that. So that’s where I’m at.

And with Unity 3D, so far it seems to fit the bill well. There are bugs and annoyances in the software (which I’ll write about later). But hey, it works.

In my next set of articles, I’ll talk about the path I’m blazing, on my Unity-guided journey through the jungle to create my first game.

Sure, there will be poisonous plants, wild natives and exotic animals. Even hungry monsters lurking in the weeds to slow me down.

But that’s okay, I’ve gotta machete.  And, I think I’ll be just fine.

Tags: , , , , ,

4 Responses to “I’m in the jungle! And, Unity is my tour guide”

  1. Boy you’re not kidding there! I messed around with Unity earlier last years and had the same experience. Oddly enough, the experience taught me some tricks when working on 2D development, mostly the code side.

    • admin says:

      What tricks did you pick up?

      • Streamlining some of the asset process by storing them in variables was a big one. I never thought to use arrays for keeping track of art assets. Now I plop some down when creating objects so I can easily change them without having to muck about further down the lines. This is really nice if you have an object that is drawn from multiple angles, you just change the array index accordingly, job done.

  2. admin says:

    One thing its taught me to do is to break down 3D problems by first looking at them as 2D problems. This helped me immensely when learning to deal with quaternions.

Leave a Reply to admin