Dev Diary 006: Despair Sets in

warning: Creating default object from empty value in /home/buckman/public_html/neo/modules/advanced_forum/advanced_forum.module on line 492.
Matt Barton's picture

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.

I think it's just too easy for experienced folks not to realize the little niggling stuff that give us noobs endless torment. A good example today was trying to make multiple animations in one Blender file. I knew it was possible, and saw it done in tutorials, but for some reason I just couldn't get it work. It's the sort of thing that someone who knew the program could have helped me overcome in a matter of seconds, but without that aid, I ended up spending hours experimenting with the interface and watching tutorial after tutorial in hopes of glimpsing the right button. Finally, after blind clicking, I found that hitting an "F" button to "save datablock even if it has no users" made it work, and I was able to see my various animations when I imported my Blender file into Unity.

This is the sort of thing that's really hard on a noob. I don't know what a datablock is. I don't know what "users" means in this context. I have no clue why I needed to check this, and not sure it was necessary--perhaps I missed something somewhere else? It's time like that you just feel woefully inadequate and totally out of your element, and that's bad.

It was probably a bad idea, but I figured I might push on to see if I could try to start working on a rat model. Again, I found tutorials and wikibooks and such that make it look like a child can do it in minutes. But once I had my reference photo loaded and was ready to get to work, all my confidence eroded. It's that same sickening feeling I used to get in math classes during tests--you think you're ready, you're confident, but one you get in and start working on the problems, everything just turns to mush. Suddenly the very idea that I could make a rat model out of cubes and vertices just seemed like the most hopeless task I'd ever set for myself!

I was browsing the Assets Store on Unity then to see if there was maybe something I could import--a free model, perhaps, just to tinker with and try to restore some of my mojo. I found a service called Mixamo that looked right. I studied the website, and it looks more or less like DAZ Studio and the like--you create your model using templates, select some motions, and it's supposedly all setup to work with Unity. However, when I downloaded the "Unity Sample File," which supposedly was a demo of a complete scene, I didn't see any file I could actually load into Unity. It looked more like a Microsoft Visual C# project or something. Huh? Finally, I tried just dragging some of the FBX files into Unity, and I could see the models, but saw no animations or any way to control them.

Again feeling ignorant, I went back to the Assets Store and downloaded a skeleton. This time, it worked. I was able to pull the skeleton into Unity and was happy to see the idle animation working as-advertised. I tried some of the other animations out and saw them working.

However, looking at that skeleton a little closer bummed me out again. For one thing, I have only a faint idea of how I could actually get this guy to move around. Secondly, looking at the level of detail and smoothness of the animations--well, let's just say you don't realize sometimes just how pathetic you are until you walk into a gym and see professional bodybuilders on the machines. Maybe you'd look at those hulks and think, well, I can be just like them if I do this five times a week for five years. Or maybe you think, geez, this just isn't for me!

I know a lot of what tutorials and samples are supposed to do is "wow" you and make you want to learn the software, but sometimes it has the opposite effect. When you see stuff that is way, way better than anything you could possibly do, it makes you just want to give up. Looking back, I think one reason I was able to make games with Gamemaker is that I didn't feel so intimidated by the existing projects. Sure, some were way better than what I could do, but I got the general sense that most people were about the same level as I was. With Unity, on the other hand, I feel more like the only guy in the room who doesn't know what "inverse kinematics" means.

I mean, how do people learn this stuff? Do they just know somebody, or what? I'm starting to feel that books and tutorials just aren't going to be enough to get me where I need to be.
Ugh, ugh, ugh.

I'm a very methodical guy when I set out to learn something. I like to feel very confident about each step and that I've mastered it before moving on to the next one. For some reason, though, math and programming also feel like that at first--nice, logical steps, everything makes sense...but then you, suddenly, you slip and you're falling. Once you lose your footing, everything just gets more and more confusing, until by the end of the semester you're so angry and frustrated that you just want to take your F and go home.

Comments

Matt Barton
Matt Barton's picture
Offline
Joined: 01/16/2006
Thanks, Rob! That was what I

Thanks, Rob! That was what I needed. I should probably pay you. :) In all seriousness, you seem to have just the right personality to be a manager. I'm thinking of Artie from The Larry Sanders Show. I always thought Arty's job was the hardest of all, since you're responsible for so much that ultimately isn't under your control.

Your ship is amazing!!!

At any rate, I think you're right about spreading myself too thin with Blender and Unity.

I feel like I have a decent understanding now of how Blender works on a basic, conceptual level, though that's not to say I could make realistic models or anything right now. It's odd to think about, but somehow I find working with Blender kinda fun in and of itself, regardless of my success rate. It's just a lot of "neato" type stuff with working with a program like that, even if you're only half aware of what you're doing. I guess what I'm saying is that on some level it fascinates me, which goes a long ways towards keeping me invested enough to keep wanting to learn despite setbacks, frustrations, and those "This is just hopeless!" type moments.

Granted, I haven't put in the same amount of time with Unity, but my problem is weird. It's like there's a giant mental block between me and the program that I keep having to reach around to get anything done. It just does something weird to my brain. I go in, ready to, say, make a block that will spin if you click on it. I start to see the solution in my head. Then I go in to try to do it, and suddenly get disoriented. Components? Scripts? Getgameobject name who?? Rotate, add torque, er...? Timedelta, update or fixed update...? I compare the sensation to trying to speak Spanish to someone who doesn't know a word of English. You *think* you know enough Spanish to communicate; all those classes you took, etc. You even have a phrasebook. But trying to communicate anything beyond "Where's the bathroom?" and "I'm thirsty" is inexplicably and maddeningly difficult.

Still, I hear ya about Thrust Lifter. I had the same thought. I know it's possible to do a 2D game like that in Unity (many have done so), but I'm not sure how I would've done the terrain bouncing and such. It seems to me that doing a 2D game in anything is easier than 3D, but I'm not so sure since Unity's default is a FPS type game.

One thing I'm sure about, though, is that if you DO manage to complete a game in Unity, you're 100% right about the exciting possibilities. I spent all that time making Thrust Lifter, and let's face it, at most a hundred people will ever see it. What if, instead, I had made it in Unity, and could now offer it in a web version, iPhone version, etc.?

I had the thought as well that I might try to make Rampin' Rescue in Unity before going on to the CRPG, but I wonder if that's smart or not. On the one hand, it SEEMS like a simpler project than a CRPG...On the other hand, I would be working against the grain, using a 3D engine to make a 2D game. And there is the issues of physics and all that stumped me before. In any case, I'd be delaying the creation of my CRPG that much further, and let's face it, if I'm ever going to make anything "great" it's going to be a CRPG.

Damn, now you got me wondering...Rampin' Rescue or One Last Turn (the rpg)? Argh...!!!

Okay, some of you Unity experts need to speak up here. Which project would be easier for a noob like me to complete: a 2D car physics game that's essentially a hybrid of Kickstart and Chop Lifter, or a turn-based CRPG of 2-4 hours in length?

n/a
Hammer
Offline
Joined: 03/23/2008
Just read this book...

..called Self-Leadership and the One Minute Manager. I recommend it - it's a quick and easy read and very insightful. Your reactions to this project remind me of the main lesson of the book, which is that people starting on a new task for the first time typically start off at the "Enthusiastic Beginner" stage, where they have no clue what they're doing but have a high level of enthusiasm and commitment. Once they realize they have no clue what they're doing, they move to the "Disillusioned Learner" stage, where their level of commitment goes way down.

Many people give up at that stage. In order to progress to the next stage of development, the person typically needs some kind of mentor who will provide both direction (so he can get some clue of what he needs to do), and support (to encourage the person to keep going and not give up).

Bottom line - I think you should try to find a mentor or mentors. You must know a lot of industry folks through Matt Chat and your other projects - why not try to leverage some of those relationships?

Good luck and don't give up!

Tom Hudson (not verified)
Unity: RTFM?

This is one of those things that I used to hate when I was a university professor and told to "Teach Maya" (or even "Teach Access") - the textbooks are all about walking you through examples & don't actually produce understanding. I had the same issue when I was trying to evaluate Unity - it seemed to me that the doc was too example-focused.

Find a manual. Read it. Get the conceptual structure in your head.
And it's very possible that they've designed a conceptual structure that is ugly, hard to understand, misnamed - that's the norm with other, pricier game engines.

Matt Barton
Matt Barton's picture
Offline
Joined: 01/16/2006
I've been going through an

I've been going through an insane CIV phase lately, but just finished conquering the world again (this time I wanted to test if it was better to build lots of horsemen and try to get a big lead in the early years; worked great).

I like the advice about doing a tabletop version, but the only problem is that I'm not quite sure what I'll be able to do once I get to implementing. When I was a kid, I tried designing my own D&D system all on paper, but of course nobody was available to play it (lone nerd here!). I still kinda like the concept though; the whole thing was based on gnomes, giving it a steampunk flavor.

Hopefully I'll be able to get back into this later today or tomorrow. Darn that civ! (not really).

I'm still thinking to try for Rampin' Rescue first, and once I get a feel for the engine, going on to Graph Paper Dungeons (or whatever I call it). I really like the idea of sidestepping all the 3D animation. I'm pretty sure I can make it in GM if worse comes to worse, though I'd prefer Unity. I'm really curious how they did it back in the Gold box games with those separate views for exploration and combat. It's a mystery to me how the program knew where to put the walls and such when it switched to combat mode.

n/a
clok1966
Offline
Joined: 01/21/2009
Well the Gold box games,

Well the Gold box games, walls and switching views. Not as bad as you think. You have it all when you design it on the grid paper. there are only so many things you ahve to have. Hall, corner left, corner right, dead end, no walls, pit, etc.. so you assign a varible to each. Each has a specific graphic, one for "first person" and one for top down battle.. so if your top down is done tile (like most top donw games are) you just look at where they are in maze, pull the varible and use the grpahic that matchs it...

so in simple terms you draw two sets of graphics.. one for one view and the match for the other view, and just pull that tile and mathc it to what is on screen when you swap. Think of a grid with each square having a specific verible for each differnt square. BUT if you are in FPS you show this , if you are in top down you show that. same exact map. man its so hard to expalin in text. I doubt that helped at all.

Matt Barton
Matt Barton's picture
Offline
Joined: 01/16/2006
Can you make a mockup in

Can you make a mockup in Unity of this concept in action? I'd love to see it.

n/a
clok1966
Offline
Joined: 01/21/2009
ah... the kick.. dont explain

ah... the kick.. dont explain it, show it to me (and exactly what I would ask too). Unity is probebly newer to me then it is to you. I played with the physics a bunch on the army man like demo level but never got much past that.... UNITY isnt tile based (game maker is), so that would be dificult. I would think in a case like that you might have to do like some of the Heros of M&M games do.. create 5-6 defualt battle areas and randomly use them when combat starts.. maybe 4-5 indoor ones, and so many outdoor ones. Again.. speculation, and no idea how to do it in UNITY. Theory and practical use .. again, you are ahead of me, you have completed some games I have not :) I still think with the progress you where making in GAME MAKER you need to revisit it. Might i suggest looking at the RPG makers , there are quite a few.. yes they all make NES like RPG's.. but graphics are the huge part of that. The real rub might be the fact that most use the side combat style, each take a turn and just wittle each other down with health pots and magic being the deciding factor not tactics.

Matt Barton
Matt Barton's picture
Offline
Joined: 01/16/2006
I see there are libraries (or

I see there are libraries (or whatever they're called) for Unity that allow for grid-based movement. It's probably a no-go since I've had very little luck with such things; usually once you go beyond the engine itself the documentation gets very spotty, support is minimal, and they try to upsell you at every click. Still, at least I know it's there.

I don't see much reason in trying to make something with GM other than a quick and dirty prototype. As far as I can see, people see "GM" and instantly think: noob; not worth downloading. I know I could try to hide that it was made with GM, but what's the point? GM is a learning tool. Trying to make a "real" game with it is like trying to make a "real" soundtrack with a toy piano.

At any rate, I've been watching the 3D Buzz videos on Unity and really enjoying them so far. I think they're fun even if you don't really care about the subject; at least you can see what it looks like making a game with Unity.

n/a
Rowdy Rob
Rowdy Rob's picture
Offline
Joined: 09/04/2006
Lost with Unity.

I haven't booted Unity, or even a game, in the last couple of weeks. But some thoughts on Unity.

First off, the basic interface of Unity is a snap to learn (for me). It took me less than a day.... heck, maybe even a few hours, to feel comfortable with the interface. Scenes, assets, hierarchies, and so forth seemed pretty natural to me, coming from a 3D-artist perspective. I'm sure I don't know ALL of it, but I quickly came to a point where I said to myself, "I got this."

The problem I'm having trouble with is not Unity's interface, but in the basic concepts of game-making behind it. The game-making workflow in Unity appears to be quite bizarre and disorganized. Did I miss something?!?

In the old days, I learned Basic. Line numbers, For-Next loops, the main loop, the Gosubs, etc... I understood it. It seemed straight-forward and logical.

Then came Object-Oriented Programming. The "C" language, with its cryptic syntax, its "pointers," it's reliance on "functions" were off-putting to me to the point where I never progressed in the language. But it still seemed logical, with a main loop, "if this happens, then go do this" type of workflow. You could flowchart the operations of the code.

In Unity..... I don't know what the hell is going on. The tutorials all seem to go from "here's how to use the Unity interface" to "attach a script to an object, plop it into a scene, repeat this process a bunch of times, and now you're playing!"

Huh?!?!?!

It sounds like the Unity method is kind of like cooking stew! Plop a bunch of ingredients into a crock pot, cook, and blammo! You have stew!

That can't be it, right? Am I missing something about Unity game development? How does that work? How do you design a game this way? How do you flowchart "if-then-else" type of logic in this system? This is beyond object-oriented programming, which at least seems to have a logical contruct it its main loops and such. It seems Unity's method is to place a bunch of independently-scripted objects into a scene until you have a game.

That seems alien to me! That doesn't make sense! I don't get it! How do you go from title screen to gameplay to endgame to high-score table with a "dump everything into a pot" approach? Where's the main loop?

Obviously I'm missing a key concept, because many impressive games have been developed in Unity.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.