I've just tried installing openSuse 11.0 a few days ago. The installing process was maybe the best I've seen so far. Only afterwards the problems started. I did not find out how to get dsl-running and Linux without network is just unusable. Especially Suse which complains all the time about a missing network connection when you try to get the network connection running. Also I failed to get the desktop running correctly with 1440x900 - the resolution was correct, but the desktop itself insisted on beeing larger and everytime I tried to change that a) my taskbar vanished and b) it was reset to the old resolution on the next login. I suppose it might be a problem of KDE 4. Oh and KDE 4... I don't really think it was a good idea to switch to that already. Though I have given up on Suse due to the above troubles and tried Kubuntu afterwards and so my KDE experiences are more based on that configuration (which was the worst desktop experience I had had this decade).
Cross-compiling from Linux would be an argument for using MinGW. But not sure how the current state of c++ cross compiling is, especially in combination with boost.
I would also be rather interested in the experiences of others with MinGW+Boost. I'm currently trying to figure out if I should use ASIO for a new project (the other parts of boost don't matter that much for now for me) and I will work mostly on Linux but the stuff has to run on Windows in the end. And I usually use MinGW+gcc for the Windows part (although I also use the MS compiler often, if possible it compiles on all of them).
Basically right and static linking would probably often work well. But that is not completely trivial as you can't static link all libraries - for example you won't static link to OpenGL unless you only need software rendering. But a bigger problem for closed source games is that too many libraries which are typically used for games on Linux are lgpl. So you have to either dynamically link or opensource your game. I talk about libs like OpenAL and SDL and also many 3d libraries. So I'm currently using the solution to dynamically link and distribute the libraries with the game. Google is doing it btw. the same way with googleearth.
About that "programs won't receive patches when libs are updated" problem - as long as the applications runs that's usually not a problem. At least unless it's a security patch, but patching all applications or just one lib is usually the same work for users on most distributions as it's automated anyway. So far I had to fight way more often with the problem that applications no longer worked because libraries got updated (and library authors *can't* test new versions with every application using their lib). So the solution where each application links with it's own shared libraries seems rather less problematic than other solutions. You only have the *dynamic* lib aspect of.so's and no longer the *shared* bonus, but I think that I'd prefer if more applications would do that. I don't care much about the memory these days and it would result in less broken applications after updates.
I'm sure that you'll find some countries with a worse legal system than that in the USA. But do you really want to search the worst legal systems in the world to find some explanation why the USA leads the prisoners-per-capita statistics by such a large margin (more than 700 prisoners per 100.000 in the US, second place is Russia with already less than 600)?
It's always difficult or even impossible to compare different countries, but the current state of affairs is so bad, that I'm sure that any president who really cares about this will be able to improve the situation. I know other people think there are worse problems for the country, but for me it would be the number 1 thing that currently needs to be fixed.
The USA have currently more than 2 million people in prison and also by far the highest count of prisoners per capita in the world. I know the argument is that it reduces crime and works and so even more people should be put in prison, but as the numbers are still increasing every year, this is probably just another debt on the future.
There are other things I'd like to change, but that would be the most important for me. But as non-american I am not eligible anyway.
I wouldn't call Irrlicht a toy. It might not offer the same features as Ogre, but I'm working with it now nearly since 2 years, completed a professional independent game with it (which also runs on linux), work on a second game now and still like it. I often had to change stuff within the engine, but well, the code is well written and that's why I like using opensource engines:-)
It really depends on the project you plan to do. If you need stuff like material scripts you should use Ogre. If you need software rendering you might be better of with Irrlicht. Also the zlib license does suit some people just better. For example I'm still not sure if I could use lpgl for ports to arcade machines (I heard good arguments pro and contra if this is legal).
Advanced features really don't matter as much as most people think. Nearly no gamedevelopment ever fails because of missing engine features:-) The most important features for an engine are for me stability, documentation, ease of use and a nice community. And Irrlicht and Ogre are both rather nice in that regard (CS maybe also - I just don't know that so much).
The question was what makes C more sane for *game programming*.
1. Portability is simply not an issue here. Which plattform suitable for games does not have a modern c++ compiler (speak: gcc)? Embedded platforms and very old workstation plattforms are really not much of a concern when it comes to games:-)
2. and 3. Yeah well, this are valid concerns if you want to make very general libs. But we were talking about a game - not about a library. And when doing a large project like a mmorpg (which is very large!) I would miss C++ features like templates and sane inheritance too much to abondon it.
C++ is just suited very well for game programming. C++ with an additional good script language (good beeing mostly defined as "scripts can be debugged") on top of it is even better imho.
I did notice that part. But if you check current sources you will notice that while Nebula 1 was multi-platform, the newer version are no longer, but Windows only.
Unlike you Icaza did actually try to explain his point. And last I've heard he is working for Novell and not for MS, so calling him an Microsoft shill is a little strange.
I don't know much about OOXML or ODF except who's behind it and that they are both XML-formats. But just from comparing his comment to some here (like yours), I don't think his credibility is hurt in any way. Quite the opposite.
I've heard the mantra of "lets make Linux easier to use for " quite often. And I don't like it. My mantra is "lets make Linux easier to use for it's _current_ users". You heard it right - make it easier for the technique-fans, for the developers and for the sysops. Because these people are the current Linux market. Don't piss it off trying to reach people who are very far from getting interested. Currently nearly everyone has it's regular fights with the Linux system. We still like it, because of it's power, but the rough edges are there.
I think it would be a very bad idea to suddenly go for the grandmother market, when all the strong points of linux are of interest to the technical people. Extend it by adding feature by feature for the "a little less" technical guy.
Sorry, there might be some company refusing to make a title when offered $5 millions, but that's rather the exception than the norm. It won't be hard to find a game company which will do it for that much money. Most game companies have a very hard time to even make a living and close to none do make those hundreds of millions of which this article does speak.
I would even bet that _every_ big publisher does know a team which would do it for such an amount. And I'm not even talking about startup teams here. Maybe it's not the same here in Germany, but usually even getting $1 million sales is already consider a hit here.
It never felt dystopian or nightmare like to me. The world described in this book feels good - despite the corporate power in the background. Nearly all the people in the book live a rather free life in the shadows in which the corporations are not much interested.
Also regarding his interview: I never would care that he missed mobile phones. I heard him telling that he missed that even before and I don't get it. I can't see how much it would have changed the book. Everything I cared about in this book would also have worked if he had thought of mobiles. What I think that he really missed was that the religions would get so loud once more.
Gaming is the main reason why people buy new computers at home. But I believe that gaming support on linux will improve soon. The reason I believe that is that in the last years the independend gaming scene was growing very fast and we care a lot more about linux than the big companies. Just check companies like Chronic Logic, GarageGames, Wolfire Software which all release linux version. And I'm far from naming them all. I did only recently join this scene, but I found out that for a small company it's actually rather easy to release Linux+Windows versions. There's not much of a technical challenge if you are careful when choosing your libraries. Maybe it's even a little easier because we can develop on Linux which has some advantages;-)
No he did not say that. He will no longer develop it, but he did _not_ quit because his scheduler was not chosen. I don't even know why so many people think so, maybe because it would be the way they would act?
Maybe it's simply because you are used to it. I worked for very long nearly exclusively with VS (since VS 1.5), but worked with Code::Blocks and the command-line in the last year. At first it felt horrible, but I started to love a few things after a while. Now I have to use VS for a new project and switching back to it just felt horrible once more. Not sure yet if I will adapt again...
The problem is that it's also not worth doing games for 0.5% of the 100% market. Well, 0.5% might be worth it (I don't know the exact numbers), but my point is that if you aim at such a small windows market that linux seems comparably big to it, any publishers interest in your game will drop seriously.
For Mac it's true to some extend as the Mac market is already larger. For example GarageGames (one of the companies doing mac-versions) once state that they sell more games on mac than on windows. But only about 10% on Linux.
Still you are partly right. On the linux market you can still stick out and that's good marketing. I think a lot of companies are missing that.
Mostly right. Except for the sharing. Good free textures are still rare and good textures can be used in many games. Also models can to some extend be used in several games. Having for example models of houses in a certain style (like "middle age") would help free games to look good way faster. Same for sound effects - I don't even know any good sites for free sound effects right now.
I disagree. Usually a lot more artists work on a game than coders. Also exchanging artists in a project will cause less trouble than exchanging coders. A good artist can adapt his style so it's consistent with the style delivered by others. Integrating additional coders is usually very difficult. And lastly: programming is an art anyway:-)
It's not even so much the money. I recently bought a new Windows - and it was XP which did cost about the same like Vista (not sure if it was exactly the same, but that didn't even matter). My reason for this was simple that buying something unknown like Vista was not worth the risk of having some tools maybe no longer work afterwards.
I had heard about some problems with MinGW on Vista - and that was already enough reason to stay on XP as I need MinGW for my work. Maybe those problems where exaggerated or not even true, but I saw just no reason to find that out myself. Vista might be nice and is probably even better than XP in many cases, but there's no single thing I really need or want so much, that I'm willing to take any risk. I suppose a lot of businesses think the same way.
I really wouldn't care the least bit about an infinite number of distributions as long as it would be easier to get software running which is not part of the supported set of packages of that distribution.
My solution to that? Not a 100% solution, but I think the situation would be a lot improved by copying (or get closer to) the behavior of windows when it comes to shared libraries. Make it easier to put shared libraries beside the binary and make sure those are used first. And use an own shared lib for most applications. At least for all libraries beside the usual system libraries. I see the "you stupid beginner" threads coming in already, so let me defend a little in advance:
First, I know that it is already possible to do it that way. I actually did it already and it is harder to do and it has currently a lot of disadvantages (see next points) because it is not really supported in a good way. For some libraries you have to use tools like chrpath to make it even possible and that feels just bad.
Second, I know that this will take more place on your precious harddisk. This is a downside, but I don't really care if it allows me to install (and update!) more packages without trouble by reducing dependencies.
Third, I heard the security argument and I know how it goes: "In case a vulnerability is detected we can fix it by updating a single shared lib and all applications are fixed now". Great. Except that a) the application author would sometimes maybe be faster to fix it than all the 300 distros. b) not every distro will check if *every* application will actually will run without trouble after the fix. Is a single point of failure really a feature when it means it can break running application which might not even be affected by a vulnerability? I think other solutions can be found - it doesn't sound *that* hard to track the installed libraries check them against a database of security flaws.. and then decide how to fix it. Let the user chose, let the distribution chose, let the applications chose.
Fourthly, non-standard systems which need shared libs not provided by the application. As we need a way to track installed shared libs anyway for security argument lets just use this and offer an (user or distributions defined) override mechanism which makes it easy to override the shared libs installed in the application folder. Currently this is also hard to do once an application has set it's rpath correspondingly. I wouldn't complain if it would be easier. And yeah - those people won't have the benefits.
Fifthly, the "there is no problem, my package manager works perfect already". This arguments usually holds as long as you do not install foreign packages + still regularly update your system. Doing both of those two things make it hard in any distribution which I checked so far. And no, just using alien ain't enough. Just installing to/opt is somewhat better, but unfortunately often way above what most users are able to do.
Last, I didn't see the real reason. Maybe. Just teach me - I'm always eager to learn. Actually part of the reason of my post is that I really want to understand why this isn't already changed despite the fact that the current solution causes troubles so often. Centralized solutions never work - the current shared library concept is just one more example for this;-)
It could be interesting to code stuff for the PS3. Good calculation power for that price and I'm rather certain that programming processors similar to cell will be the future. Extreme multithreading.
On the other hand it's the sort of locked down system where you're not even allowed access the 3D functions of your graphiccard.
As for gaming, well, the fun-for-your-bucks price is currently going to Wii anyway.
I haven't worked with GIT so far, but i did watch the talk from Linus and some stuff he mentioned sounded like very familiar problems. Mainly when he said that even patch is better than SVN. And that's where i got the feeling that those tools solve two different problems:
SVN is better than doing normal backups for sourcecodes. GIT seems better than working with patch.
An animator can tell you when to make a character blink in order for it to appear more realistic; a psychologist, not so much. The problem with the "when make a character blink" is that it only leads to longer and longer lists and situations. An AI programmer prefers to find the "why does the character blink" and implement that. The "when" will follow once that is done.
Hey - I hope you succeed doing it that way. It's just that after working for a while in the gameindustry you realize that nearly everyone in there seems to work on his own 3D engine in his spare time. Each of those have some special feature. But basically none of those seems ever to be used in a finished product. I suppose one of the reasons is that the special feature they have now is a common feature in a year. And it's still their only feature by that time.
I appreciate the learning effect very much and so it is worth doing your own stuff for a while if you are just starting with 3D. But once you really plan for a product I don't really think working on an own Engine is still worth it. Take the year it takes to learn using an opensource engine and add your special feature in there. You get all the rest for free and you can start concentrating on the stuff you want to do _with_ the engine. Otherwise you will just have to play catch-up all the time. And you're doing that alone, while several people are adding to those engines, so chances are high the gap will not close but broaden.
But maybe I just don't get it because 3D never was that much in my interest - I'm mostly an AI guy anyway;-)
I've just tried installing openSuse 11.0 a few days ago. The installing process was maybe the best I've seen so far. Only afterwards the problems started. I did not find out how to get dsl-running and Linux without network is just unusable. Especially Suse which complains all the time about a missing network connection when you try to get the network connection running. Also I failed to get the desktop running correctly with 1440x900 - the resolution was correct, but the desktop itself insisted on beeing larger and everytime I tried to change that a) my taskbar vanished and b) it was reset to the old resolution on the next login. I suppose it might be a problem of KDE 4. Oh and KDE 4... I don't really think it was a good idea to switch to that already. Though I have given up on Suse due to the above troubles and tried Kubuntu afterwards and so my KDE experiences are more based on that configuration (which was the worst desktop experience I had had this decade).
Cross-compiling from Linux would be an argument for using MinGW. But not sure how the current state of c++ cross compiling is, especially in combination with boost.
I would also be rather interested in the experiences of others with MinGW+Boost. I'm currently trying to figure out if I should use ASIO for a new project (the other parts of boost don't matter that much for now for me) and I will work mostly on Linux but the stuff has to run on Windows in the end. And I usually use MinGW+gcc for the Windows part (although I also use the MS compiler often, if possible it compiles on all of them).
Basically right and static linking would probably often work well. But that is not completely trivial as you can't static link all libraries - for example you won't static link to OpenGL unless you only need software rendering. But a bigger problem for closed source games is that too many libraries which are typically used for games on Linux are lgpl. So you have to either dynamically link or opensource your game. I talk about libs like OpenAL and SDL and also many 3d libraries. So I'm currently using the solution to dynamically link and distribute the libraries with the game. Google is doing it btw. the same way with googleearth.
.so's and no longer the *shared* bonus, but I think that I'd prefer if more applications would do that. I don't care much about the memory these days and it would result in less broken applications after updates.
About that "programs won't receive patches when libs are updated" problem - as long as the applications runs that's usually not a problem. At least unless it's a security patch, but patching all applications or just one lib is usually the same work for users on most distributions as it's automated anyway. So far I had to fight way more often with the problem that applications no longer worked because libraries got updated (and library authors *can't* test new versions with every application using their lib). So the solution where each application links with it's own shared libraries seems rather less problematic than other solutions. You only have the *dynamic* lib aspect of
I'm sure that you'll find some countries with a worse legal system than that in the USA. But do you really want to search the worst legal systems in the world to find some explanation why the USA leads the prisoners-per-capita statistics by such a large margin (more than 700 prisoners per 100.000 in the US, second place is Russia with already less than 600)?
It's always difficult or even impossible to compare different countries, but the current state of affairs is so bad, that I'm sure that any president who really cares about this will be able to improve the situation. I know other people think there are worse problems for the country, but for me it would be the number 1 thing that currently needs to be fixed.
The USA have currently more than 2 million people in prison and also by far the highest count of prisoners per capita in the world. I know the argument is that it reduces crime and works and so even more people should be put in prison, but as the numbers are still increasing every year, this is probably just another debt on the future.
There are other things I'd like to change, but that would be the most important for me. But as non-american I am not eligible anyway.
I wouldn't call Irrlicht a toy. It might not offer the same features as Ogre, but I'm working with it now nearly since 2 years, completed a professional independent game with it (which also runs on linux), work on a second game now and still like it. I often had to change stuff within the engine, but well, the code is well written and that's why I like using opensource engines :-)
:-) The most important features for an engine are for me stability, documentation, ease of use and a nice community. And Irrlicht and Ogre are both rather nice in that regard (CS maybe also - I just don't know that so much).
It really depends on the project you plan to do. If you need stuff like material scripts you should use Ogre. If you need software rendering you might be better of with Irrlicht. Also the zlib license does suit some people just better. For example I'm still not sure if I could use lpgl for ports to arcade machines (I heard good arguments pro and contra if this is legal).
Advanced features really don't matter as much as most people think. Nearly no gamedevelopment ever fails because of missing engine features
The question was what makes C more sane for *game programming*.
:-)
1. Portability is simply not an issue here. Which plattform suitable for games does not have a modern c++ compiler (speak: gcc)? Embedded platforms and very old workstation plattforms are really not much of a concern when it comes to games
2. and 3. Yeah well, this are valid concerns if you want to make very general libs. But we were talking about a game - not about a library. And when doing a large project like a mmorpg (which is very large!) I would miss C++ features like templates and sane inheritance too much to abondon it.
C++ is just suited very well for game programming. C++ with an additional good script language (good beeing mostly defined as "scripts can be debugged") on top of it is even better imho.
I did notice that part. But if you check current sources you will notice that while Nebula 1 was multi-platform, the newer version are no longer, but Windows only.
No restriction on what you can do with the code, but a restriction on what you can do with the license that accompanies the code.
I still hope someone will create a license one day which just allows me to use stuff when programming (zlib is very close to that).
Unlike you Icaza did actually try to explain his point. And last I've heard he is working for Novell and not for MS, so calling him an Microsoft shill is a little strange.
I don't know much about OOXML or ODF except who's behind it and that they are both XML-formats. But just from comparing his comment to some here (like yours), I don't think his credibility is hurt in any way. Quite the opposite.
I've heard the mantra of "lets make Linux easier to use for " quite often. And I don't like it. My mantra is "lets make Linux easier to use for it's _current_ users". You heard it right - make it easier for the technique-fans, for the developers and for the sysops. Because these people are the current Linux market. Don't piss it off trying to reach people who are very far from getting interested. Currently nearly everyone has it's regular fights with the Linux system. We still like it, because of it's power, but the rough edges are there.
I think it would be a very bad idea to suddenly go for the grandmother market, when all the strong points of linux are of interest to the technical people. Extend it by adding feature by feature for the "a little less" technical guy.
Sorry, there might be some company refusing to make a title when offered $5 millions, but that's rather the exception than the norm. It won't be hard to find a game company which will do it for that much money.
Most game companies have a very hard time to even make a living and close to none do make those hundreds of millions of which this article does speak.
I would even bet that _every_ big publisher does know a team which would do it for such an amount. And I'm not even talking about startup teams here. Maybe it's not the same here in Germany, but usually even getting $1 million sales is already consider a hit here.
It never felt dystopian or nightmare like to me. The world described in this book feels good - despite the corporate power in the background. Nearly all the people in the book live a rather free life in the shadows in which the corporations are not much interested.
Also regarding his interview: I never would care that he missed mobile phones. I heard him telling that he missed that even before and I don't get it. I can't see how much it would have changed the book. Everything I cared about in this book would also have worked if he had thought of mobiles. What I think that he really missed was that the religions would get so loud once more.
Gaming is the main reason why people buy new computers at home. But I believe that gaming support on linux will improve soon. The reason I believe that is that in the last years the independend gaming scene was growing very fast and we care a lot more about linux than the big companies. Just check companies like Chronic Logic, GarageGames, Wolfire Software which all release linux version. And I'm far from naming them all. I did only recently join this scene, but I found out that for a small company it's actually rather easy to release Linux+Windows versions. There's not much of a technical challenge if you are careful when choosing your libraries. Maybe it's even a little easier because we can develop on Linux which has some advantages ;-)
No he did not say that. He will no longer develop it, but he did _not_ quit because his scheduler was not chosen. I don't even know why so many people think so, maybe because it would be the way they would act?
Maybe it's simply because you are used to it. I worked for very long nearly exclusively with VS (since VS 1.5), but worked with Code::Blocks and the command-line in the last year. At first it felt horrible, but I started to love a few things after a while. Now I have to use VS for a new project and switching back to it just felt horrible once more. Not sure yet if I will adapt again...
The problem is that it's also not worth doing games for 0.5% of the 100% market. Well, 0.5% might be worth it (I don't know the exact numbers), but my point is that if you aim at such a small windows market that linux seems comparably big to it, any publishers interest in your game will drop seriously.
For Mac it's true to some extend as the Mac market is already larger. For example GarageGames (one of the companies doing mac-versions) once state that they sell more games on mac than on windows. But only about 10% on Linux.
Still you are partly right. On the linux market you can still stick out and that's good marketing. I think a lot of companies are missing that.
Mostly right. Except for the sharing. Good free textures are still rare and good textures can be used in many games. Also models can to some extend be used in several games. Having for example models of houses in a certain style (like "middle age") would help free games to look good way faster. Same for sound effects - I don't even know any good sites for free sound effects right now.
I disagree. Usually a lot more artists work on a game than coders. Also exchanging artists in a project will cause less trouble than exchanging coders. A good artist can adapt his style so it's consistent with the style delivered by others. Integrating additional coders is usually very difficult. And lastly: programming is an art anyway :-)
It's not even so much the money. I recently bought a new Windows - and it was XP which did cost about the same like Vista (not sure if it was exactly the same, but that didn't even matter). My reason for this was simple that buying something unknown like Vista was not worth the risk of having some tools maybe no longer work afterwards.
I had heard about some problems with MinGW on Vista - and that was already enough reason to stay on XP as I need MinGW for my work. Maybe those problems where exaggerated or not even true, but I saw just no reason to find that out myself. Vista might be nice and is probably even better than XP in many cases, but there's no single thing I really need or want so much, that I'm willing to take any risk. I suppose a lot of businesses think the same way.
I really wouldn't care the least bit about an infinite number of distributions as long as it would be easier to get software running which is not part of the supported set of packages of that distribution.
/opt is somewhat better, but unfortunately often way above what most users are able to do.
;-)
My solution to that? Not a 100% solution, but I think the situation would be a lot improved by copying (or get closer to) the behavior of windows when it comes to shared libraries. Make it easier to put shared libraries beside the binary and make sure those are used first. And use an own shared lib for most applications. At least for all libraries beside the usual system libraries. I see the "you stupid beginner" threads coming in already, so let me defend a little in advance:
First, I know that it is already possible to do it that way. I actually did it already and it is harder to do and it has currently a lot of disadvantages (see next points) because it is not really supported in a good way. For some libraries you have to use tools like chrpath to make it even possible and that feels just bad.
Second, I know that this will take more place on your precious harddisk. This is a downside, but I don't really care if it allows me to install (and update!) more packages without trouble by reducing dependencies.
Third, I heard the security argument and I know how it goes: "In case a vulnerability is detected we can fix it by updating a single shared lib and all applications are fixed now". Great. Except that a) the application author would sometimes maybe be faster to fix it than all the 300 distros. b) not every distro will check if *every* application will actually will run without trouble after the fix. Is a single point of failure really a feature when it means it can break running application which might not even be affected by a vulnerability? I think other solutions can be found - it doesn't sound *that* hard to track the installed libraries check them against a database of security flaws.. and then decide how to fix it. Let the user chose, let the distribution chose, let the applications chose.
Fourthly, non-standard systems which need shared libs not provided by the application. As we need a way to track installed shared libs anyway for security argument lets just use this and offer an (user or distributions defined) override mechanism which makes it easy to override the shared libs installed in the application folder. Currently this is also hard to do once an application has set it's rpath correspondingly. I wouldn't complain if it would be easier. And yeah - those people won't have the benefits.
Fifthly, the "there is no problem, my package manager works perfect already". This arguments usually holds as long as you do not install foreign packages + still regularly update your system. Doing both of those two things make it hard in any distribution which I checked so far. And no, just using alien ain't enough. Just installing to
Last, I didn't see the real reason. Maybe. Just teach me - I'm always eager to learn. Actually part of the reason of my post is that I really want to understand why this isn't already changed despite the fact that the current solution causes troubles so often. Centralized solutions never work - the current shared library concept is just one more example for this
It could be interesting to code stuff for the PS3. Good calculation power for that price and I'm rather certain that programming processors similar to cell will be the future. Extreme multithreading.
On the other hand it's the sort of locked down system where you're not even allowed access the 3D functions of your graphiccard.
As for gaming, well, the fun-for-your-bucks price is currently going to Wii anyway.
I haven't worked with GIT so far, but i did watch the talk from Linus and some stuff he mentioned sounded like very familiar problems. Mainly when he said that even patch is better than SVN. And that's where i got the feeling that those tools solve two different problems:
SVN is better than doing normal backups for sourcecodes.
GIT seems better than working with patch.
Hey - I hope you succeed doing it that way. It's just that after working for a while in the gameindustry you realize that nearly everyone in there seems to work on his own 3D engine in his spare time. Each of those have some special feature. But basically none of those seems ever to be used in a finished product. I suppose one of the reasons is that the special feature they have now is a common feature in a year. And it's still their only feature by that time.
;-)
I appreciate the learning effect very much and so it is worth doing your own stuff for a while if you are just starting with 3D. But once you really plan for a product I don't really think working on an own Engine is still worth it. Take the year it takes to learn using an opensource engine and add your special feature in there. You get all the rest for free and you can start concentrating on the stuff you want to do _with_ the engine. Otherwise you will just have to play catch-up all the time. And you're doing that alone, while several people are adding to those engines, so chances are high the gap will not close but broaden.
But maybe I just don't get it because 3D never was that much in my interest - I'm mostly an AI guy anyway