
Well, I'm sad and sorry to report that my little Unity project has come to a grinding halt. It's agonizing, but even though I was making huge leaps towards realizing my game design, I've finally hit that wall that I just can't get over by myself. I've been working for two days trying to overcome it, but I sadly just simply lack the skill and the knowledge. I've ended up with a show-stopper glitch that I just don't understand, and the behavior just seems entirely random...It's either get help with this or give it up.
Here's the deal. Although the system works great at first...Occasionally a block will suddenly switch into "orphan" mode. I've stared at my code until I just can't stare at it anymore. I've combed through it, commenting out each component to try to find the culprit...Just can't do it. I've tried, and tried, and tried to no avail. I can't find a pattern in it; it just...does it sometimes. It just seems entirely random!
I can't find any logical reason why it doesn't work, so that leaves me to think it's either a glitch in Unity itself (unlikely) or just really bad optimization on my part. I suspect the issue is unnecessary collision checks and bad update routines--that is, out of ignorance, I'm asking the computer to run so many checks that it's overtaxing the system, resulting in missed collisions. To combat that, I've tried to reduce the updates, but nothing has worked.

Whew...Well, after a few days of coding I have a working prototype of my new game. I'm still calling it "Heavy Metal Metal Blocks," though I suspect that will change as the game evolves. I had a really, really tough time getting the Match 3 stuff worked out; I never dreamed how convoluted the code would get. There's probably a much easier way to do it than what I came up with, but it DOES work, at least as far as I can tell. Have a go and let me know what you think of the basic concept!

I apologize for posting another dev diary so soon, but I'm pretty excited about my first playable Unity game and just had to share. It's just a very simple shoot'em up, though my plans to keep it simple were foiled when I ran across the Explosion Framework. I was nervous about trying to use Detonator, but again I'm floored by how easy this was...Installed this with a click, dragged it onto the variable I set up in my script, and viola! Awesome ass explosions. It even came with its own sound effects! To get the laser sound effect, I used this fun little generator, which lets you create 80s stye arcade effects just by clicking some buttons.

Well, I'm happy to say I'm back in the saddle again, excited about making some games with Unity. After watching the complete series on 3D Buzz about building a simple 2D game, I think I know enough to at least get started actually MAKING something again. I thought I'd start with something very simple: create a block that you can move around with the arrow keys, wrapping if you hit the borders, and for frills throw in a background and make the block rotate. I figured this was a complex enough project to take a noob like me the better part of a day, but--SHOCK--it only took a few minutes! Holy COW, those 3D Buzz videos made a difference.

Just a quick update, mostly to put to rest concerns that I've given up. First off, I have to thank TripHamer for pointing me to a series of videos on Unity called 3D Buzz. My initial impression of the site wasn't good; there are a LOT of videos there; so much, in fact, that it's easy simply to get overwhelmed and leave immediately. Eventually, though, I took the time to explore the site a bit, and found a series there called creating a simple 2D shooter in Unity with C#. I figured that project didn't sound too bad, and if I couldn't even figure out how to create a 2D shooter in Unity (something I can do in my sleep with Gamemaker), I was out of my league.

Space TaxiAs you all know (this is the seventh installment, after all!), yours truly has been working on becoming a hobbyist indie game developer. It's an interesting and very enlightening project, and not just because I get to work with cool software and possibly make some cool games. The aspect that's been the most rewarding is realizing just how much work goes into making modern games. I'll definitely never play a game like L.A. Noire again and not have to pause a moment to think, "WOW. Somebody had to sit down and make every single 3D object in this game..." Somebody had to rig every animation, and somebody else had to script each behavior. The sheer enormity of the task pretty much takes your breath away when you really understand how much effort went into it. And let's not forget the producers, as well, who somehow have to bring all of this work together. It's no wonder the credits on a game can take upwards of an hour to scroll by!

Well, it had to happen eventually. For awhile now I've felt that I've been making steady progress towards making my own CRPG using Unity and Blender, but for the last few days I've had the sickening feeling that I'm in over my head. Although I can watch endless tutorials that make the whole process look like a breeze, when it comes down to actually trying to implement anything myself it's just bewildering. I'm finding that I just can't seem to wrap my head around some of the concepts of 3D animation and control. I don't want to give up, but I'm feeling very tempted at this point to just throw my hands up in the air and either go back to trying to make something worthwhile with Gamemaker or beg and plead someone with more experience to be my mentor.

Well, I definitely think I've left all the easy stuff behind me...Way behind me. Coming to Unity Scripting from Gamemaker is like jumping from addition to differential calculus. I'm pretty much forced to copy and paste code from samples. What's frustrating is that I *feel* like I understand the concepts, but for some reason when I try to apply them I get lost in a sea of look-alike names and subtle but critical distinctions between objects, classes, components, etc.

Spent most of today working my way through the Blender book and hitting some of my Unity books. I'm really starting to enjoy working with Blender; the book has been fantastic, and although I still feel like I'm muddling my way through, I already feel less like a drunk driver and more like an eager 16-year working on his learner's permit. I'm constantly seeing things in the book and realizing I've been doing so much stuff the HARD way, but if you put the book down for a minute you've already forgotten the shortcuts and have to dig through it again. Still, once you realize there's an easy way to do something, at least you know it's there for the digging up.
One thing I didn't work with before was the modifiers you can apply to objects. Much like filters with Photoshop or GIMP, you can do a lot of nice art just by applying these tools (no actual artistic talent required).
Three Cubes: Applying some simple modifiers makes each one look different.
There's also techniques to quickly create four table legs and such. It's not quite as easy as just copying and pasting, but a helluva lot easier than trying to create four different ones and move them into place by hand. That's a nightmare.
As far as Unity goes, I spent most of my time there reading about the scripting system. There's three options: Javascript, C#, and Boo. From what I hear, nobody uses Boo, noobs use Javascript, and anybody worth his salt uses C#. However, I keep encountering conflicting advice. Javascript seems to be able to handle almost any scripting need you might have, some say, so C# isn't needed. I can't seem to get a definite answer on whether, for all intents and purposes, Javascript is fine, or if you really do get a huge performance increase of some sort by working with C#. One strong thing in favor of Javascript is that it's the language of all the books and tutorials I've seen so far, and I've heard it's the norm for anyone who isn't a programmer by trade.