Fog Creek Software
Discussion Board

Developing a product while having a full time job

I've got a secure full time job as a software developer.

In my spare time I would like to develop
video games for the Mac and the PC, in order to self publish
them through the internet.

My question is the following, has anybody manage to build
(developing a full blown commercial product)
his company while having a full time job ?

Is it possible, without burning out after 9 months ?

Please share you experiences (bad or good)

Any tips and advices are obviously welcome since
it seems a very daunting task.

Saturday, September 27, 2003

Ha ha ha. You're a scream. (I presume by video game you mean modern real time 3D.)

Saturday, September 27, 2003

do you have the energy to manage that? you won't have personal life, that's sure. I mean, are you serious, or you will loose your motivation in 2 weeks.

maybe reduce your work time to 6-7 hours if possible, or try to work from home.

first, try it for 2 weeks, maybe it won't last longer than that.

Saturday, September 27, 2003

You should take a look at your life as a corporation. What are your expenses? Where can you cut back? After a year of living in a $300 room instead of a $3,000 apartment, you can afford to take some time off to dedicate to this pursuit on a more full time basis.

Also, video games are expensive and difficult to produce, modern games involve teams of people.... large cross disciplinary ones, voice actors, and more. Can you compete with that? Do you really think you can be the next Max Payne (produced by a low-budget studio, the actors were their friends, the cut-scenes were static drawings with voice overs).

Why not start small, make a proof of concept type game and release it as freeware/shareware. Maybe if it catches on you can get some funding, or at least a small income from the shareware version, not to mention some encouragement, or at least feedback based on it's success or failure.

Also... Why aren't you hanging out in the game development forums?

Mark T A W .com
Saturday, September 27, 2003

.. Of course if you just want to make small, freeware/shareware games, Video Poker, Lemmings 14 or something, then that shouldn't be too difficult for one person to do alone in their spare time.

Mark T A W .com
Saturday, September 27, 2003

Spent 5 years trying. Gave up. Can't be done if you have what is commonly referred to as a "life". You know, wife, kids, friends, activities...  Decided they were more important.

Saturday, September 27, 2003

A secure software development job?  Isn't that an oxymoron?

Saturday, September 27, 2003

I don't intend to compete with product like Max Payne.

I'm more looking at smaller but still addictive 2D games,
look at Tetris, no fancy 3D engine but great gameplay.

There are a lot of people who can't afford to play 30 hours a week on games.

I want to write games for these people who just want to have a 30 mins blast during lunch.

Saturday, September 27, 2003

You really need to look at this site:

Saturday, September 27, 2003

I created a game for a niche hobby (board wargames) and it took five calendar years including one year of basically doing nothing. Then it took the threat of an impending layoff to get me fired up to finish it over several months of 30 hr/wk marathon sessions, and when the layoff finally came I struck out "full time" marketing it on CD through mail order, conventions and internet (this was circa 1998 before the internet was that big). In six months I made $50K (U.S.) mostly from mail order and the conventions, though had $40K in costs. And I still make a steady $400 a month or so since I switched it over to shareware/registration codes a few years ago, which is nice but not riches.

But it did get me into the games industry as a programmer full-time (which I've since left), so I am glad I went through it for the experience if nothing else... I think.

Like sgf said though you have to make a choice or otherwise balance personal life and your project, because pure lack of hours is the problem. Even a simple Lemmings is at least 1K programming hours, where will that time come from? I only averaged 5-7 hours a week in the end, usually in spurts of all-weekend sessions rather than steady weekly progress.

Also really examine the scope of what you're thinking of, really chart out all the tasks involved, all the inputs, algorithms, screens, features, etc just like you'd do at work and create a realistic estimate no matter how disheartening it is. If you're thinking something as detailed as what you'd buy in the stores, it's going to be 5K programming hours minimum, and based on 5 hours a week in the long run you'll never get it done. So you need to scale back to something that's attainable if your goal is to really finish it and sell it.

If you think you're really just interested in it for the fun parts of the programming, realize of course that's only 10-20% and the rest is gruntwork no different than your f/t job, so maybe you'd be happier hacking quick prototypes together and scrapping it a month later and just doing it as a hobby with no expectations or guilt.

But if you do want to make a serious product, here are some suggestions:

* The first stage when you're super-enthusiastic about everything, try to do as much low-level grunt stuff as you can ( framework, data structures, events, etc) with everything else in the framework in place but stubbed out. Make the graphics and menus super-simple placeholder and simple bitmaps you make yourself.

* Next stage is when you lose total interest as you realize you have nothing that works, it's just a bunch of buggy low-level classes and crappy programmer art. This happens maybe a month (?) 3 months (?) a year (?) into it. At this point switch to doing the main menus and GET SOME PROFESSIONAL ARTWORK... there is a huge morale boost when a really cool-looking splash screen or menu background appears when you start your game, and all it takes is a simple background .bmp and some button bitmaps or animations you can have made from artists on the internet for $100 - $500. This kind of morale boost can keep you interested for a long time.

* From then on take a top-down approach, start at your initial menu and into the game and keep asking yourself "what's keeping me from releasing this game?" to determine your next tasks. Only list about 10 things at a time (which will only take about 30 seconds to find, usually...) then stop, bring up the code, slog through them all and check each one off. Even if some didn't get fully fixed, they'll show up the next time you do the iteration so will be caught eventually, and you'll have a lot of pieces of paper with a bunch of items checked off which helps with the sense of accomplishment.   

* Try to keep regular visual progress even if you work two months on some invisible subsystem then just a day arranging to get some new bitmaps made for the sake of change. Regular visual changes no matter how trivial programmatically really give you the primary sense of progress, even though you know things are a lot different underneath.

* Don't try to stick to a regular weekly schedule, which you probably won't keep and then just feel guilty about -- what worked for me was during the week I'd always say THIS weekend I'm going to do nothing but work on the game. Then if it happens, great, if not, I'd just say I'll do it NEXT weekend (which was the case 3 out of 4 times for me). And don't plan on doing anything during the week, but if you do then it's just an extra bonus.

* Avoid the huge temptation to constantly reengineer everything unless what you remake can be finished within a few weeks. It's a morale killer to have something working and then suddenly not work at all while you're rebuilding, so you either avoid work on it because you're stepping backwards, or you finally decide to kludge it back together so you can move forward again -- which makes it no better off than when you started.

Also check out the thread below, "Smart, but don't get as much done." There's a lot of good tips there...

Saturday, September 27, 2003

Quite possible, go for it! 

The last company I worked for, there was one developer who worked on his game part time (with the company's blessing, it did not interfere with his work).

He finished it in about 1 year, resells it for $15 as shareware, and sales are STILL going on strong 4 years later (add-on levels, minor revisions, etc..).  In fact, when he got laid off 2 years ago, he supported himself with the revenue from the game, and put out 2-3 more titles.  Thing about the shareware avenue, if you have a decent idea and the ability to envision good gameplay, you can churn these out once per year and they still keep making you money.

Right now he's semi retired, working 20 hr weeks updating his software for fun while travelling. (laptop + gprs phone = freedom!)

And it's not like his game was a huge market hit.  You would have never heard of him or his game (and personally I wouldn't enjoy playing it, but that's just me =) ).

Saturday, September 27, 2003

I don't know about building a company while employed but there are people who wrote quality software that became a business.
Snort and toad are two examples...

Tom Vu
Saturday, September 27, 2003

Fairlight - go for it. What do you have to lose? The worst possible scenario is you have a half written game and the experience an self knowledge that comes from having written half a game and given up. At least you'll have the answer to the question "can I write a game part time?"

Mark T A W .com
Saturday, September 27, 2003

I think if you want to have a side job, it will steal the least amount of energy if it's something along the line of what you do at work. So that you are expanding your domain within reason, otherwise you'll waste quite a bit of time getting on track. If you have the ability to control your use of time very well though, forget what I said, you could probably take on any domain.

Li-fan Chen
Saturday, September 27, 2003

I'm doing that very thing right now, except not a game (it seems EVERYONE is trying to make shareware games).

I'll tell you, it's both fun and tough.  The ONLY way you'll make it is if you have the full support of your family.  Of course, if you have no family, that's not an issue.  Instead, you'll need the support of your friends, because you won't be able to do as many things with them.

I've been working on my product for nearly 2 years now.  I've watched very little TV and very few movies in that time.  Granted, I have a wife and small child (2 children now, as of last week).

So, think long and hard.  I've had several people start and then stop working with me on this project because they couldn't sustain their motivation.

Saturday, September 27, 2003

>>I think if you want to have a side job, it will steal the least amount of energy if it's something along the line of what you do at work.

Be careful just how close it is to what you do at your full-time job (and what your employment contract says about it, if anything).

There have been several court cases in the US about situations like this, and the courts have usually ruled that if your sideline software is similar to your full-time job's, the company you work for is the owner of the software (even if it is at home, on your own equipment).

These cases were with employees without employment agreements. if you have one, you should obviously read it to see what it says.

Saturday, September 27, 2003

Allow me to add a qualifier than, most contracts are non-competes.. so what I mean is don't catch yourself competing in the same business domain (which is usually what a non-compete is trying to protect: your employer's ability to protect its investment in you from direct competition).. but try not to end up doing C++ when you really know Java.. because even small sharewares will really stress your lifestyle.. so why waste all that time trying to learn a new tool while your personal shareware competition is quickly gaining on you.. as some gentlemen have mentioned previously.

I don't think it is currently very common for a company who has send you to MSDN training to try to stop you from use the same knowledge in your next job or in your home businesses. But as the last post have pointed out, it is common for your employer to be nervous about knowledge learned in-house.

How many of you would sue your employee for patching her home computer from a nasty virus because she used company resource to learn about it (the company admin spend 15 minutes explaining it to her.. the company had to eat the time.. and she IS running a home business on that home computer in question.. and she DID sign a non-compete that specifically said she can't share in-house information)

As always, if it's worth all of your spare time at home and your relationship, it's probably worth a visit to a lawyer. Bring along your employee manual and non-compete.

Li-fan Chen
Sunday, September 28, 2003

Even if you happened to learn the stuff in-house, companies don't have any claim to knowledge that is readily available to the public, like general knowledge about languages, platforms and algorithms that can be learned out of a $40 book or public web sites.

Just go ahead and develop whatever you want, but don't let your company know about it.

Sunday, September 28, 2003

I think what Scott said about visuals is quite an important aspect in software development in general. Most workflow models (you know: waterfall etc.) underestimate the morality boost of having something visible out there. Even worse, many formal approaches actually teach you not to do that eye-candy until the very end of the project because it is considered "fun but not vital", often labeled as "programmers want to do the eye-candy stuff because they are too lazy to solve the really difficult problems".

But in the end it's just like "producing" food: the nutrition scientist might know what's healthy, but only the chef can make it taste delicious!

Johnny Bravo
Sunday, September 28, 2003

Don't get married. If you are already married, good luck! ;)

Sunday, September 28, 2003

I've been working for many years on a high level computer language ( ), both part-time and full time, and I agree 100% with Scott's comments above. In particular:

"Avoid the huge temptation to constantly reengineer everything unless what you remake can be finished within a few weeks."

That is so true I should print his comments and glue them on the wall. The danger is you write a class and get it working, then you realize how it should be written and want to re-design it. DON'T - otherwise this happens: . Learn from Babbage, he designed the first computer.

Bill Rayer
Sunday, September 28, 2003


what is the name or web site of your friend's shareware game? I'm interested to see how he markets his game. thanks.

Sunday, September 28, 2003

Regarding contractual problems..

Your former employer can sue you, semi-baselessly, just to make your life difficult.  Long standing tradition in many legal systems.

Some states, like California, have some laws that try to protect employee rights when you do something at home. 

Check carefully the contracts you have signed because you may already be a looser here.  Easier to get something changed before you sign it instead of after.

In some cases, you can also be fired with cause as soon as you make public your software if your employer wants to be difficult.  (they may require your boss be notified if you want to pursue any outside opportunities)

It's also easier if you do this on a cottage-industry level, where it clearly isn't your main concern.

Make sure that you do it at home, with your own copy of the development tools, using your own books, on your time, with all your own hardware, etc.  Make a very very clear differentiation here, it will save you from troubles and accusations later.

You won't be able to make something to compete with the latest FPS market games.  You may be able to make something popular and interesting.  No matter what you make, as long as it gets out and isn't a piece of crap, it will reflect well on you in the future if you want to do games full-time.

Flamebait Sr.
Monday, September 29, 2003

*  Recent Topics

*  Fog Creek Home