Simple guidance to a new developer
Posted 13 August 2009 - 12:38 PM
I am a CS master student @ berkeley doing architecture research. Recently, my advisor showed some interest in game development and I have been itching for a new hobby so I decided to look into game development. I need some help with deciding where to begin so I will describe to you my skill set as detailed as possible.
I have been programming with c++ for over 9 years but it has been mostly for command line unix systems. I am quite adept at the syntax of c++ and I do not think the language will be my bottleneck. However, I am a bit concerned with developing because I have always been so attached to unix based systems that I have never used VS or any type of IDE (vim and makefile/configure has always been what I've used).
In terms of graphics I have moderate knowledge of the concepts. I have done a few projects including a basic phong shader with u-v mapped textures, a full ray tracer from scratch (with reflection, refraction, various shaped primitives etc), and some applications with bezier surfaces and curves. I am moderately familiar with pre nvidia 7xxx series gpu architectures since I designed and implemented a simple fixed point gpu with unified shaders on a fpga board using verilog. I am also familiar with maya which I have used to produce two < 5 min long movie with a group of 5 or so students.
So given my given my relevant skills, I am wondering if my life will be easier to start from scratch and build my own 3d engine or to use one available online. If the latter, could you please recommend an engine I should look into? Probably a 3d fps engine would be sufficient i think.
Thanks for the help
Also, i found I found http://www.directxtu.../tutorials.aspx to be very helpful. Are there any others like this?
Posted 13 August 2009 - 01:17 PM
Posted 13 August 2009 - 02:21 PM
Do not build a game engine unless you want to become an engine/toolset/framework builder. There are lots of threads here that a search for "game engine build" or some such would fill hours of time. The gist of the con argument is that a) there's an inherent amount of time writing and debugging that's high that n00bs don't realize and a majority of the experience gained in the process is non-transferable to designing a game.
As fireside says, there are lots of mature engines out there that do a lot of the grunt work for you, are relatively well-written, and have a community to lean on. Now, it may be that you'll want to change some parts, for example a different rendering technique, or a procedural aspect not available in the engine, but at least you get to skip things like writing and debugging input handling.
I would recommend OGRE, Horde3D or C4 for you. Be assured that there's still lots of coding left, of varying amounts, to do even after you pick one of these. Note that OGRE and Horde3D are render engines, leaving lots of network, sound, AI, physics and such to code up. C4 gives you even more, but there's still all the game logic to code.
Posted 14 August 2009 - 10:28 AM
Posted 14 August 2009 - 04:44 PM
I wouldn't worry too much about UNIX vs Windows. IMO Windows especially Vista can be kind of buggy. However Visual Studio is top notch and pretty much crushes every development environment I have every used on UNIX (note: it's been a few years since I have programmed extensively on UNIX systems). VS is way easier than vim and makefiles. It just is. IMO you simply have to change your mindset on that. At one point I had to myself. Don't get into the anti Microsoft trap. I know sometimes you even get this from teachers. I work in the bay area and I know that attitude well. Yes, Windows has some issues but the development environment isn't one of them.
Posted 14 August 2009 - 04:48 PM
One more thing if you want to use DirectX I would seriously recommend just buying one of Frank Luna's 3D Game programming books. It's totally worth the few bucks you will spend.
Posted 15 August 2009 - 08:02 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users