Basically the government will take every penny you make available to them. If you make a mistake they will demand immediate payment, if they make a mistake they will tell you that you are waiting until at least the end of the current financial year to get that money back (and without interest added).
Sorry that's just my view of the $£%^%£%£$£"!%$£££$%£!$%^ government. They once tried to tax me on 15p (about 20 cents for our american friends) interest I got from my bank account and sent out two letters asking for payment. the letters each had stamps worth more than the amount they were chasing.....
If they ask how much you want, don't give a figure. let them make the first move and negotiate from there. If they ask what you want reply "what are your offering?" or "what is the going rate?" or "what did you pay the last programmer?". Beware that this might be a low figure as they realise you are both in negotiation, but with a starting offer you are in a position to negotiate. If you give the first figure then you are on the back foot as they will either want to negotiate down or think you are too expensive and turn you down.
For a graduate £100/day is a good rate for a first job. I'd ask if they have a lot of work or would consider you as a long term contractor.
Can you explain how your microwave works? And if you can, does it make you any better at using it? How about the internal combustion engine? Forced air heating?
As a programmer, it is your job to know how it works. I am not a microwave technician or car mechanic but if I was and came to fix your microwave or car wouldn't you want me to know how it works? That way if it is a problem out of the ordinary I would have a much better chance to fix it. Would you drive a car fixed by someone why it needs fixed, but not how? You would quickly find yourself becoming an unemployed programmer/mechanic/engineer if you only knew why but not how. Nobody would hire you. Try using that analogy you gave in an interview and see how it goes, I suspect not very far.
Game engines provide libraries that give a solid (in most cases) set of code. It is probable that this is tested and therefore you don't have to worry about the possibility of bugs 9or that is the theory).
Scripting engines make it easy to get a game up and running using minimum effort. However you are stuck with thier code (unless you have source). People will use these engines because it gets them to where they want to go quickly. Others will build thier own engines as they want to have a clean pipeline that is built around thier needs (e.g. trying to get a FPS engine to make a RPG is not that efficient) and is efficient.
one example would be an artist who wants to get a demo up and running, they would use a game engine, 99% of the time it would be Unity.... What you have to remember is it is easy to spot a game by the engine used as the rendering is the same, in my opinion.
When you are modifying the C4 code you are making your own variant of that engine (remembering that you have to be careful to make the updates from C4 easy to implement).
I've used many engines and C4 is one of the best written as the code is so clean and easy to understand (this may be a reason for the slow progress as everything is done to a high standard). It's a good engine to learn from, although other engines are better for other reasons (prototyping, scripting, licensing, etc)
UDK certainly is the industry standard and would help get a job in a professional studio. It's not my personal choice as I have heard a lot of stories that it crashes and this happened to when I tested it after only 1 hour.
There's so much quality middleware out there (C4, UDK, NeoAxis, Unity3D, Cafu, etc) that you really have to make a list of what you require and find the engine that most closely gives you this.
I think most people would tell you to avoid Torque3D. I haven't used it but most people will tell you to stay away from it. There is open source projects (Delta3D). Essenthal is another which is getting a lot of good comments but again I haven't used it.
It's worth noting exactly what you need (e.g. 3DS Max support, collada, scripting support, etc) as this will narrow it down a bit. Then have a look at the interface and the community forum (this is very important in my opinion) and narrow it down to those that do what you need and you are comfortable with.
C4 - Yes it's $300 but that's with lifetime of updates, although doubtful that will still be available after the next few months (by the way you should check out the ability to "sculpt" terrain). I really would recommend C4 if you can, check the forums and read old posts to see how helpful it is and how quick the replies were.
If it is $0 - $100 then Irrlicht and Essenthel both come with a lot of good reviews , although I didn't like the World Editor of Irrlicht. Cafu is one I prefer but it's not ground breaking.
Epic have released a "free" Unreal SDK but royalties are 25% (I think) and I've heard from several people it has performance issues.
DarkBasic isn't the only game engine out there capable of making commercial games for a low cost. Unity, C4, TGEA and NeoAxis are able to do this for a small charge of less than $2,000 (I think it most cases). Adobe Director or Flash are capable of making games.
"Free" engines include are Irrlicht, Delta3D, CAFU and Ogre3D (although this is a render engine and not a game engine).
Peronally I like C4, Unity, NeoAxis, Cafu. C4 is the best professional engine I have come across for a low fee and it currently (January 2010) includes free updates for life, although this offer is about to expire. C4 community is the best I have come across.
I'd don't think giving up with DarkBASIC just yet is the best option but I would recommend looking at some of the other engines and seeing what they offer before you make a decision. Look at thier roadmap and the forums/community to get a better idea of all the features the engine can offer.
It's not a good idea to constaly change game engines (you don't want to become a 3D Realm), but it is a good idea to make the decision and stick by it unless you have no option but to change it.
[Edited by - donkey breath on January 12, 2010 5:26:28 AM]
I think you are going to have to look into every engine specifically. This might mean spending a week on each engine and getting a feel for everything it offers as there are so many factors to consider.
Does the engine have all the features you need and/or will need in the future? Can you programming with the language used? How is the asset pipeline for you? How helpful is the community? This is strangely a very big factor for me. What is the engine roadmap like? How easy is it to integrate 3rd party software (e.g. physics)? How much is this going to cost (e.g. consider if it is a limited license of 1 year, can you complete within 1 year?)?
I have tried most of the engines mentioned here before settling on C4. It's a good well thought out engine with lots of really good features and some great features coming. It does suffer because the demo is not very good at the moment, but that will change. It is very highly recommended by myself.
NeoAxis was an engine that was very good, great demo level (exactly what a demo should be as it shows all feature). What put me off was some of the development and the community is poor.
Unity is another great engine with some great tools. It does not have source code so you are limited to hacks if it doesn't do what you need out of the box.
Panda3D is a great engine but it's lack of GUI features stop me going further. Essenthal is a great engine that I recommend you try. Delta3D is another one worth mentioning as is Irrlicht.