Previous Blog Next Blog
Prev/Next Blog
by date

OMG, What the hell have I done ?

OMG, What the hell have I done ?
Name:ArmedGeek
Date Posted:Feb 28, 2007
Rating:3.3 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for ArmedGeek

Blog post
This is my first blog post even though I've been here since September of 2004. This is a repost from my personal blog but I thought some folks here might find it interesting.

---

Almost everyone who has ever played a video game has thought about how cool it would be to make their own. Please allow this to serve as a warning to others lest they suffer the same fate as I.

I have played many video games. I'm not a <strong><em>gamer</em></strong> exactly, but I do like to play computer games. Quite often when playing these games I find myself thinking "That was done wrong.", or "Man, I would have ...". Well, a couple of years ago I decided to "<em>put my money where my mouth is</em>" and design and write a video game and began researching. I looked into coding an engine myself, but after looking over a dozen or so commercial game engines I decided there was no point in re-inventing the wheel and set to picking an existing engine.

A little over a year ago, I picked an engine (out of literally hundreds) and set to writing a game. Now, the very beginning moves slowly. You spend a whole lot of time just picking through the recently purchased engine, feeling it out, getting to know how it works, what it can do (and what you'll have to <em>force</em> it to do) . This time spent is sort of a mixed feeling. You feel encouraged because you are learning a lot in a relatively short period of time but you also can't help feeling that you're not really getting anything done. Which in a way, you aren't. You are learning, which is quite important, but you have nothing to show for it. As I said: mixed feelings.

After a while you get your ideas sketched out. You know what you want to do and have at least a rough clue how to do it. At this point you begin to realize where your strengths are as well as your weaknesses. You are either a programmer or you are an artist. If you are neither then what the hell where you thinking trying to write a game ? If you are both, then <strong>I hate you with every fiber of my being</strong>. I am not kidding. I hate you.

So, now you have to shore up your weaknesses. Game programming is <em>nothing</em> like application or system programming. I had to take my C++ up a notch. "Well, how do you do that?", you ask. Well, if you are like me, you scour the internet for ever little nugget of information you can get. Unfortunately, learning via the internet leaves gaps, sometimes small, sometimes large. So, you buy books. Lots of books. Lots of reading, trial-and-error, forums, IRC later, the source code that looked like some sort of character encoding error begins to make sense. You no longer see a thousand lines of code written in [insert name of language you do not speak], you begin to see a C++ class describing a <strong>Player</strong>. Cool.

Oh, hell, I don't have a player <strong><em>model</em></strong>. Well, time to start downloading demos of various 3D modeling applications. Not knowing the first thing about 3D modeling, you hit the internet. And read. For what seems like forever. 3D modeling software is expensive, very expensive. It is not a purchase that you make without considerable research (and stress), demos (and stress), discussions with people who've used the software (and stress). Then finally, you make a decision and you pull the trigger. BAM! $900 ( more or less, depending on your choice) later and you are the proud owner of 3D modeling package. Now, it's time for more self-education (self-flagellation, same thing) so .. back to the 'net. And back to amazon.com ($$$).

Now you've begun making models, getting them into the "game" and you're really beginning to flesh out the gameplay. You've heard that 90% of the work takes 10% of the time, but that last 10% takes 90% of the time. That's an understatement. When you're getting started you are learning so much so fast that you feel higher than a Berkeley Art Major and you're really feeling confident.

Then you hit, oh, around the 40% mark and you start hitting walls (and not the good "oh, collision detection works" kind of walls). What's worse is that often the solution to these "walls" breaks solutions to earlier "walls". This is disheartening to say the least. Every task-list item you complete reveals 13 more tasks that hadn't occurred to you. You see your milestone progress bar moving to the left instead of to the right. You begin to see your hobby turn into a job. A job you're not getting paid for.

So, here you are a couple of years later. You feel further away from your goal that you were when you started. You are a couple thousand dollars and you-don't-even-want-to-know how many hours into this project. You'd like to travel back in time and slap the hell out of your slightly younger and quite a lot dumber self.

Here is where we may very well part ways. When you get to this point you have a choice. You can cut your losses, sell your books and software on eBay and chalk it up to "experience". Or you can take the high road. My road.

You can tell yourself, as I tell myself, "This bitch will <strong><em>not</em></strong> break me. I'm better, I'm smarter than that. I <em>will</em> complete this game."

At this point, it is a personal struggle. I will not give up. I will not surrender.

Only ... I <em>still</em> can't think of what to call the game
.

Submit ResourceSubmit your own resources!

Tom Perry   (Feb 28, 2007 at 11:58 GMT)
Interesting read, the last line cracks me up :)

Martin Schultz   (Feb 28, 2007 at 13:02 GMT)
Hmm. I know how you feel. The very best advice I can give you is: Get a team! Really! Sounds stupid, but it will help you more than you would ever imagine. Sole fighting here does in most cases I've seen here lead to exactly nothing but experience and no ever finished product/demo/whatever.

Join a team or create a team yourself (although joining a team would be much easier than finding the right people for your own team). Within a team you will see that those walls you describe automatically lower down to nothing more than little steps.

Maybe it helps. It helped me a lot.

Martin :-)

Tom Eastman (Eastbeast314)   (Feb 28, 2007 at 13:17 GMT)
I agree with Martin - and if you've done a significant amount of work already, it will be easier to get people to join the cause.

Good luck!

ArmedGeek   (Feb 28, 2007 at 14:56 GMT)
Quote:


Sole fighting here does in most cases I've seen here lead to exactly nothing but experience and no ever finished product/demo/whatever.



This is, indeed, my biggest fear. All the work will have been for (almost) nothing without a release. That said, I've never run into a computer problem I could not solve so I do believe my game will get finished. At some times though the process gets painful and I really felt the need to scream from the rooftops. And this seems to be the closest thing we have to a rooftop.

As far as "Get a team!", I would be inclined to agree. And would work towards that if this were not my first game. Time and experience has encouraged me to scale back my original lofty goals ( no, i never intended to make an MMO ) to something more manageable.

As things stand now, the work is progressing at a pace ( have you ever heard a more vague statement ? ). I guess the blog post came off a little more defeatist than I intended.

I appreciate the responses.

Edit: man, for someone who doesn't write, I sure can babble on sometimes.
Edited on Feb 28, 2007 14:57 GMT

Martin Schultz   (Feb 28, 2007 at 15:09 GMT)
ha ha, good edit line :-)

Well, downscaling the concept is usually a good thing. One (me included) tend to put in more in the design than one can handle. It's natural. But beeing already able to see that some features not possible is a big big experience point. I guess you're on the right track.

Get a co-programmer who can get some workload off from you. That may help aready a lot to get a free head again. Like I said - get a team ;-)

Chris Calef   (Feb 28, 2007 at 18:14 GMT)
Just to pile on here and agree with everyone else, I'd like to add that (a) hang in there, I absolutely understand where you're coming from and it's a fact that if you don't stop, you will either finish or die trying... and (b) do find other people to work with. Most importantly in my world recently has been the part of the team most people don't think they need. Every programmer can eventually face the reality that they're going to need an artist or three, and maybe even another coder when it becomes obvious that they maybe can't realistically do the entire project on their own in one lifetime, but the element that can help the most in all this is a _designer_ person, _other_ than yourself even though we always think we know what we need for our own project.

Even if this person is just an advisor and not a full-time team member, having someone to whom you explain what you're trying to do and exactly what the end product is going to look like can help you cut out unnecessary parts, get everything scaled appropriately, and make whole giant obstacles just disappear with a snap of the finger, with the magic words "doesn't matter," "irrelevant," or "detracts from the overall experience." At least speaking for myself, it's hard to make those calls on your own, and they can save you months if not years.

My $0.02.

Frank Carney   (Mar 01, 2007 at 02:53 GMT)
Never give up, never surrender!

Jackie Hayes   (Mar 01, 2007 at 03:21 GMT)
I here ya brother. I feel the same way and am in the same boat. I have been working with this since 2/03. I have personal goals and I WILL ACHIEVE them! My philosophy all my life has been that "Can't Never Could". If you go into something with the thought that you maybe "Can't" do it, you never will. Be positive. Don't forget that you can do almost ANYTHING if you REALLY want to and you put your mind to it!

My $0.155 cents worth.

ArmedGeek   (Mar 01, 2007 at 04:42 GMT)
@Jackie

Then you are certainly someone I was talking to. I surely wouldn't want anyone in the same position to think they are alone.

In the boards and on IRC you regularly see people who either really know what they're doing or those who don't know what a compiler is. I guess the rant was a shout out to us folks in the middle.

Andrew Nicholson   (Mar 01, 2007 at 10:58 GMT)
Great read, I like your determination. Dont think your on your own though, there are lots of developers in the same situation, myself included. You are part of a great community here at GarageGames, Ok so theyre not on your team but they will try to give help and advice when asked.
I think Chris hit the nail on the head in suggesting a single person or maybe a team of people, someone or someteam who act more like a Mentor for your project would be great. The only thing is do these people exist and do they have the time to spare.
Good luck with your quest.

DodongoXP   (Mar 01, 2007 at 11:16 GMT)
hello

yes flying solo is a extremely challenging task to do and pricey too

im currently mostly in the same situation ..fortunately i have been both programmer for 3 years and 3d designer for 5 years.. not too experienced but some is better than none

and i too have experienced several dificulties.. but i feel if you like what you are doing.. to quit is not an option... so you should never give up ..

however you should be realistic.. if you plan to make money with it as a primary income job.... you should never hold your breath.. first you need to have some alternate job where you can earn some money to have some funds for your project while you finish it... because it wont be a short trip and you wont be getting anything from game making for a loong time

no option has miracle solutions... getting a team..if you make it , it helps you to make the things twice as fast ...but also has its down sides because you have to look for capable and trustworhty people, pay the team members for his job and arrange great project administration between members,schedules,milestones,meetings..


and joining an existing team mostly will involve working on the head team member projects and not your own .. unless you really convince that manager with your killer idea..

so plan your project and your budget correctly and see how to spend your money and time... take twice as the time expected or spend twice as expected but take less


game making will never be an easy task .. it always will be challenging and time consuming.. and pricey also...

cheers

Jacob (Kouga) Nicholson   (Mar 01, 2007 at 18:22 GMT)
:D I must say this was an absolute delight to read. I haven't been here nearly as long as yourself [this is my first week with GG] so I am glad I stumbled upon you by chance. Your post here was insightful, inspiring, and wonderfully funny ["oh, collision detection works" was my favorite line there]. I myself, while taking on a task quite as epic as yours, am currently delving into the numerous facets of development, design, and production. Once I get out in the big scary world, I'll remember this post, and say to myself, "That's right. This thing won't defeat me."

^_^ Anyway, I guess what I'm trying to get at is that this was a wonderful read, and I wish you the best of luck in your adventures.

Thomas Buscaglia   (Mar 01, 2007 at 19:08 GMT)
Great blog. Don't give up!

You must be a member and be logged in to either append comments or rate this resource.