As 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!
Where I've been becoming increasingly disappointed, though, is what a dude like myself can hope to accomplish on his own. I had originally been naive enough to think that the tools had reached a point where you didn't need a full-on team of professionals to make something that looked like, well, it was made a full-on team of professionals. I didn't expect to make the next Bioware game here, mind you! But I thought it was within my ability to make something like Jay Barnson's Frayed Knights game. Jay had help, of course, and plenty of professional experience, so I figured--heck, why can't I learn the same stuff and make my own game? It *seemed* doable, and definitely fun!
So I acquired some books on Unity and Blender and went to work. As usual with these sorts of books, you make huge progress at first, but quickly level out and then find yourself in over your head. I've read many such books on many topics over the years, and the pattern is always the same--they go really slowly as you're learning the basics, but then (for whatever reason) start to pick up speed precisely when they SHOULD be slowing down--that is, when you start to hit the really difficult stuff. It's kinda hard to say it's their fault, of course, since some of this advanced stuff really needs a book of its own to cover. For instance, rigging in Blender, or scripting in Unity. It's like those branching trees in RPG games--at first it's a straightforward progression, but quickly starts to fan out in a multitude of unrelated nodes. It starts to beg the question if any one person can hope to master even a fraction of them.
By the time you stack up all the books, tutorials, websites, forums, or whatever you need to learn this stuff, you discover that even if you had the time to go through it all, you definitely wouldn't have the memory power to retain it all, so it becomes rather hopeless. To make matters worse, once you start learning HOW to do stuff, you learn how long it takes. If it takes weeks to create, rig, and animate a crude rat or hut, for instance, who are you kidding thinking you could create dungeons swarming with orcs and castles full of fiends?
They say when you're climbing that you should never look down. It seems than when you're learning how to make games you should never look up!
Several folks have written in with lots of good suggestions to get me back on track. I'll summarize these below:
1. Go back to Gamemaker (or RPG Maker), create a prototype, and take it from there. The argument is that all of the CRPG mechanics and such will need to be worked out anyway, and there's no reason I need to be struggling with 3D and such at the same time. I could do the whole thing in GM with placeholder graphics, get it up for people to play with, and--assuming it all holds together and seems to warrant it--I could take it from there and start trying to make it into a Unity project.
This idea has merit, of course, but I see a few issues. For one, I think there's a big enough different between GM and Unity that I'd basically be starting over instead of "simply" converting it. Secondly, creating this prototype would be a huge task in and of itself...I can see months and months of work going into it. I think it'd break my spirit if, after all that, I found I could only salvage tiny parts to use in Unity.
In short, it seems to me that if I continue with GM, I just need to make a firm commitment to getting the most out of that software and ditch the plans to "move on" to Unity. On the downside, as I've seen with Thrust Lifter, there is very little interest in indie games made with Gamemaker outside of the Gamemaker community itself, and most of those guys are more interested in MAKING games than playing (and most importantly, buying) them!
Not to put too fine a point on it, doing an ambitious CRPG in Gamemaker seems like vanity to me. Nobody but a few dear friends would play it, I certainly wouldn't make any money off it, and everybody else would just roll their eyes and dismiss it as the equivalent of fan fiction. Even if people could appreciate it as a CRPG, it'd still have that stigma of being "only" a Gamemaker game and not a "real" engine. Silly as it is, that's the vibe I get. If I go this route, I'm doing it strictly for the sheer joy of doing it, and quite frankly, I'm not sure that's enough for me at this point.
2. Put the CRPG project on hold and make a 2D game with Unity. I've been kicking around a project called "Rampin' Rescue" for probably a year here. I tried for months to make it with GM and failed so miserably it made me want to give up game dev altogether. It seems like such an easy mechanic--Space Taxi with a ground vehicle instead of a flying one. Instead of jumping or thrusting, you just get up speed and go flying off ramps. The problem came with the physics--to save my sanity, I had to give it up. Getting a car to roll up a ramp and behave realistically once it was in the air proved too difficult for me with GM, and the third party physics add-ons you can get are just too poorly documented and buggy for me to figure out. I gave up, and if you know me, you know that was a very soul-crushing experience to have to admit defeat.
However, Unity's built-in physics seem to be more than up for the task, and from what I've seen so far, will take a lot of this work off my hands and just let me focus on making fun levels.
I know it's possible to make 2D games with Unity, but I'm still not sure it's really any easier than making 3D ones from a programming standpoint. For one thing, I'll be fighting all the assumptions, since (let's face it) Unity expects you to be making an FPS, not a 2-D vehicle game. I'll have to figure out how to do the cameras, how to avoid taking the third dimension into consideration, etc.
In any case, Rampin' Rescue *seems* like a fairly easy game to make compared to a CRPG. I won't have to worry about a story, mechanics beyond the ramping and such, and the scope seems reasonable. Maybe a dozen levels or so...I see this project more or less taking the same amount of work as Thrust Lifter, though I'm probably being naive again.
3. Make the CRPG with Unity in 2D using placeholders. This is more or less a combination of 1 and 2. The argument is that just sticking to 2D will eliminate the necessity of learning Blender and there seems to be the expectation that if this version holds up well enough, I should either have built up the mojo to do it right, or can perhaps interest some other folks in jumping on board and helping me out.
Couple problems with this.
First, I don't want to have to rely on anyone to help me. I know from hard experience that even if people seem eager at first, that can fade quickly and leave me stranded with half-finished parts and no way to continue. I also know that anyone who DOES have the knowledge and ability to help me would much rather work on whatever projects he/she has going--there's no incentive to dedicate those resources to Joe Schmoe.
Others have suggested that if I have a prototype in place, I can use it to get funding from Kickstarter or similar services and then hire professionals, buy assets, or whatever to do the hard work for me. This idea seems the most realistic to me, though from I've heard the costs are so high that I'd need upwards of $30,000 or more. Call me crazy, but I just don't think my fundraising abilities are up to that. I think it'd be blindly optimistic to expect to raise a hundred bucks.
So what's my plan? I'm going with option 2. My plan is to try to break this project up into a few dozen discrete projects, then try to bring it all together as I get more comfortable with the software. I'll go into more detail with these as I go, but here's an idea:
Step one: get the camera setup to show a 2D terrain from the side view.
Step two: get a simple 2-D vehicle on screen and roll it around on the terrain using the arrow keys.
Step three: have the camera follow the vehicle as it moves across the terrain.
I figure those are pretty huge steps that will likely need to be broken down further, but they seem like good milestones.
Now it's time to quit yacking and start trying to figure this out...
In any case, if YOU, dear reader, have some experience with this and can provide some structural advice for me, go for it. Please, though, my problem is not that I can't find tutorials. Believe me, I'm drowning in them. What I really NEED is to hear how an expert would conceptualize this project and start to break it down into doable stages, or even how I should be THINKING about how to plan this project.
Good to hear that all these hurdles haven't managed to crush your game-making spirit completely. You must be some strong-willed guy :) I think CRPGs are one of the genres that make life hard for the single developer. I've seen great one-man projects in the adventure games realm, even commercial ones. But I guess that's not your cup of tea.
Oh well, I wish you the best of luck. Wish I could help, but the only aspect I have some experience with is 2D graphics.
I've played more adventure games than any other genre, Quantum. I don't do a very good job cross-posting my stuff, but I have a ton of reviews up at Adventure Classic Gaming: Matt's ACG Reviews.
It's funny, but one of my Unity books is actually focused on making an adventure game. I've tried making them before. I was having a good time making a text adventure using Inform (IIRC), but eventually got burned out. I was attempting to make an adventure set in the 50s just after an atomic blast. The character (a true 50s gentleman) has to get to the school to rescue his family. The gimmick was that the bomb was a top-secret Russian "zombie" bomb. If you got radiated, you became a mindless killer. :) It was pretty satirical, with lots of silly barbs and references to 50s stuff (I found a bunch of 50s Sears catalogs and such and was putting a lot of historical context into it).
I was having some fun with it, but even with a tool like Inform, it got to be a HUGE task. It's my understanding that even modern day text adventure fans hate anything over about 30 minutes, and this thing was starting to look Zork in scope. :) I won't blame myself too much since I was just dabbling, but it really drives home the absolute necessity of keeping these projects SMALL in scope. It's so easy to get carried away and burn out long before you finish the project.
In any case, as much as I like the genre, I feel like it's purely a labor of love. Even if it's a superb adventure game, the audience is miniscule. Since the audience for indie games is already limited, we're talking pretty heavy niche territory. It's pretty doggone depressing. I don't know about you, but I'm already bored to tears with all the cartoony "episodic" adventures that have been popping up lately. They're fine for what they are, but definitely don't grab the imagination like the classics.
I want to make an indie game that I can count on at least a hundred or so folks will be interested in downloading and playing. The only thing I can think of that I have the "authority" to get people curious about is RPGs. I could even use my book as a selling point. Of course all that could backfire if it's a crappy game.
I am with you brother and share the pain. I too have a love-hate relationship with Unity, trying to make 2d games in a 3d purpose tool
(heck, its not even called Unity, but Unity3d!!!) is always a bit of a pain. However, since recently I have been playing a fair bit of the superb roguelike puzzler 'desktop dungeons' (http://www.desktopdungeons.net/) which was made entirely using Unity3d (at least in its current iteration), I have started to believe that yes perhaps there is a chance for Unity for an 2d CRPG (ah...Curse of the Azure Bonds remade...one could only dream...).
A suggestion I have is perhaps get someone else and work through Unity (or XNA, or whatever you choose) together - that way you can share
the pain together (and those times of great exclamation when you overcome a challenge) - and can also help each other in different areas...
maybe get someone who is working on a different genre than you. Doesn't have to be in the same room - that is what Skype/etc. is for...
It will be almost as fun as the first time you slogged through BloodWych with a friend, and possibly as mindnumbigly addictive as a hotseat Starcon, who knows?
As you state, making a game is very hard work and it gets downright depressing sometimes.
But to be honest, I'm not sure if going the 2d route is the right way to go... That doesn't diminish the worload that much, and in some cases, it even increases it.
Of course, it depends on what you're actually struggling around... I don't catch any clues to what's your main problem at the moment with Unity from your post... is it the programming? is it the art? the project management itself? architecturing the system?
Depending on what is your main problem, the 2d approach might not solve it, specially if you're aiming at actually selling the result... the problem with 2d games is that it seems to me that they only sell well in 3 circumstances:
1. Mobile platforms (and embeded devices, etc)
2. Unique gameplay "gimmick" (something that gives it an edge)
3. Unique art style (which covers up the flaws off 2d in this day of 3d games)
That said, 2d might be a good approach, if your bottleneck is the programming, not the art part... I think nowadays, good 2d art takes longer to create than so-so 3d art that can be disguised with some technological tricks (and procedural generation... there's a whole lot of tools to produce content "out-of-the-box").
Finally, the approach of doing small pieces of "tech demos"/"small games" is a very good one to keep motivation high... As soon as I start feeling overwhelmed with my own hobby project, I just make a game for Ludum Dare (if some is running), or choose a task that will provide a high payoff, like a new shader or a new enemy type, a special effect, anything that requires small work but gives instant gratification!
About the 3d episodic cartoon adventures, I think that there are several reasons why they don't captivate you as they did some years ago:
1. Over-produced: for example, the lack of voice acting in the old graphic adventures allowed for the players to put their own voices in the game. This applies to the graphics, etc... The lack of graphical capabilities back then made us "fill in the blanks", which in turn made us a part of the universe... It's a difference between reading a book or watching a movie... both have their space in the world, but a book makes you a part of it by requiring you to imaginate, while a movie "reduces" you to a spectator...
2. Too much hand-holding: they're too easy and repeat basic information too often... that makes you feel as your achievements aren't that important (at least for me)
3. The episodic medium is harder to write for than the normal "one-shot" game... Episodic games need to be self-contained (so the player doesn't feel an incomplete experience) but at the same time leave something "hanging" for the next episode. This requires some nifty writing, in my opinion...
For the RPG graphics, why not focus on just one main problem, and ignore the others? Embrace the limitations and let them create a unique aesthetic.
For instance, modelling is hard. Rigging is hard. What if you just focused on the rigging? You already created some impressive looking cubes. What if all your models were just made of collections of floating cubes? Cubic skeleton warriors, cubic rats.
It would be easy to model that way, and that would let you just focus on the animations.
You could also pull of some interesting effects in such a world. Random one: It's hard to do old school "random encounters" in a 3D RPG - you have to worry about spawning enemies outside of the character's viewport because having them just pop into existence in front of you is odd. But now you could do an effect where a cloud of cubes floats up out of the ground and assembles itself into a monster party.
I do Arch Vis - not game making but the two sometimes overlap and I use Unity for vis. I started doing level design then went to architecture school. I also love your site and am a big fan of your writing.
Here's the deal:
Game making is a collaborative effort. You can't do everything. You'll be very frustrated if you do. You can do somethings but not everything. I would concentrate on one thing, either coding or art. Blender is not an ideal program to learn on as the interface is ridiculous(but it is very powerful). Making a game is much like making a film only sometimes is it done alone and when it is the scope is small. I never liked Unity's architecture and wished the had some type of visual programming interface. Typically a level guy does not model and rig/animate characters as they are two completely different arts and have two completely different sets of limitations. Learn one thing and work with a team of like minded individuals of a similar skill level. You can't go into game making with just an idea cause we honestly all have hit game ideas in our heads. You need to learn at least one technical skill to help flesh the idea out.
Here's the deal:
Game making is a collaborative effort. You can't do everything. You'll be very frustrated if you do. You can do somethings but not everything. I would concentrate on one thing, either coding or art.
I think this is really the key right here. You're talking about tackling several skills yourself, but in reality everyone in the industry seems to be a specialist at something. I agree with the premise of focusing on one aspect, and seeing if you can find others to help you along the way.
Found a great dev thread that shows you what can be done with a small group of talented people:
Keep in mind these people are professionals and still end up having some of the same issues, but on a different scale.
Hope you keep yourself motivated. Very much enjoy reading these dev journal posts
collections of floating cubes? Cubic skeleton warriors, cubic rats.
I kind of like the sound of that.
Another thing to try would be to cheat the same way anime does. Limit your model poses to a standing pose and a chopping pose, and just snap back and forth. When sound effects are added it would be passable. Another idea would be to have hands that magically hover in mid air with no connecting arms.
Heck,Moraff's World had completely static monsters and it was still a blast. It had just the right perspective to make you feel like you were there, and the cool and rarely-seen gimmick of 3d viewports for all four cardinal directions at once.
I was going to ask the other day: Can you name an existing game that is similar to what you're envisioning for your RPG project? Just curious.
I'd like to have the fps exploration of m and m 6 with the isometric combat of a gold box game.