I'm thinking about starting to build and publish small desktop games and
puzzles. My background is 10 years of server c++/java programming. No GUI experience, and no gaming experience. I just love games.
How hard is this market? Can anyone give me real life insights of this desktop indie small games mIsv industry?
I would say desktop is a bad market for this, unless you are doing flash games. I would encourage you to look at doing this for mobile audiences and on hand held platforms like the PSP and DS.
To expand on this, there are really a number of reasons I suggest this.
With PC you have thousands of different hardware configurations, graphic cards, etc. This can becomes a huge compatibility and support nightmare quickly. This is why there are hardware compatibility labs and testing services that run successful businesses around this service, as you really need to test on a huge range of hardware. You also need to worry about frame rates and system requirements. With a console you don't have any of this, you code it to work on a given console and it works the same way across all of them.
Note that this is also true for the at large mobile cell phone market, and some others like Android, you end up needing in this case to test on tons of different devices that also have different hardware configurations and limits. This is why I really recommend Iphone/Flash/Hand held game consoles (PSP/DS/GBA)
It's a tough, tough market to make PC games, but it also has a vibrant indie game community.
In contrast to the other answers here, I'd argue that desktop-based games can be easier to start with than with mobile devices, because the barriers to entry are lower.
If you develop for a mobile platform, the makers of the device act as gatekeepers. You'll often need to purchase their developer tools and framework. You'll need to submit your product for their content and quality review.
Developing a flash-based game might be a good compromise, but it presents challenges of its own. I highly recommend reading Lost Garden, a great blog about indie gaming with a focus on Flash.
If you're not plugged in to the indie PC community, I recommend going to GameTunnel and checking out some of the games and developers featured there. Many indie developers have blogs or articles that highlight aspects of developing games and the business of gaming.
As with any new endeavor, you first want to get an idea as to the target market.
For instance, how much, now, do you play these type of casual games?
For an example of one revenue stream look at:
http://games.yahoo.com/downloads But, again, it depends on who is in your target market. This will be of more interest to 30+ yr olds, most likely.
For the younger market you are looking at IPhone and Android, but neither are really using C++ and games that run on their social networking sites.
If you can make a chess game over Twitter for example, two can play, and others can monitor the game, and that may be of interest, but how would you possibly make any money off of it?
Any of these will require you to learn new platforms and languages, and get into GUI work, unless you stuck to Twitter games.
So, for you the barrier to entry is high due to your lack of experience in this area, if you have someone that has considerable java experience, for example, then you may be able to do something moderately quickly on Android, if that person also knows OpenGL (the 3D graphics for Android).
It is doable, how much work, how profitable, depends on the details of your ideas, and the implementation.
You may be able to get some work by writing some casual games for people to use on a business website, for example, "Dress up your child" at GapKids. This would get you experience in doing casual games, and perhaps be a source of revenue.
I have been a Palm game developer and had success selling casual games. Here is the outline if I were to start again.
Build a browser based HTML5 game using javascript and the canvas tag.
Don't go for fancy games, just basic puzzles to begin with.
The benefit of this approach is that now you can use phonegap like tools to package it for Android and iphone. It also works on desktop and you can host a free version on your site.
Desktop sounds so 90s. Just kidding but desktop is hard. There is too much friction for the average user - find online, download, install, etc. It's, like 93%, easier to open a flash game in the browser and 85% of users can do it. (totally made up numbers)
Then there is the piracy - finally a user installs your game, but you don't get any money off it. 2D Boy, the makers of the superb World of Goo, reported 90% privacy for the pc version of the game. This article on their blog discusses that. There wasn't any DRM, but still 90% is too much.
I'd advice you go for mobile, social or consoles:
Oh, and a great graphics designer is a must.
I'd say just focus on making one game, and keep improving it over the time and simultaneously launch it over as many platforms as possible. Multi-player games and especially building a community around it works out quite well.
Anyway I suggest that you should first pick up a game development book and learn more about the art and science of game development.
Take a look at the YoYoGames.com game maker. Creating a game is super easy, then you can create desktop executables AND web versions of your game. Plus, a $25 license for the full version of the game maker - can't beat that. Just try to play a few of the games their users have made - very impressive stuff.
Personally I'd try iPhone as starter.
Also XBox Live and PSN got similar feature but they expect a very high quality and polished games. Since this will be your first game development experience you might not get there right away.
Not to totally disagree with fm, while the Iphone is a great development platform and I completely recommend it, there is piracy. Actually most iphone games/apps have a 50-90% piracy rate and are usually pirated within a hour of being released. (There are automatic tools that break the DRM, strip a few things, and upload them to torrents.)
Sorry about the additional, answer, but I currently lack the reputation to comment.