I'm learning how to create games and just downloaded Darkbasic pro (trial)
Is this a good engine ?
Is it limited to what you can create ?
Would you be able to create an mmorpg using this engine ?
Edit: I have read revies, but theyre all soo different..
It is not fairly fast, I believe. Also there are some limitations(apart from the speed and general resource usage), e.g. the code is not platform independent. It does not have many non-game uses. Also finding help with the language might be hard, as not too many people use it(comparing to other languages, Python, Perl, C/C++ etc.).
Yes, it can be nice language to experiment on, but there is no way I am going to ever suggest it as a good first programming language, because it simply isn't.
Well, I got my first touches to programming(apart from Salora Fellow. Wish I still had it!) via DB. Was not too shabby.
ok, what engine would you suggest ?
It's a little better to start with a free engine to find out if it's really what you want to do after you find out what's involved. Blender is a pretty good modeler and a decent starter engine which is completely free. It's very easy to import the models into the engine and it has a good physics engine built in. It uses python, which is a very good starter language. If you choose to move on to a professional engine later, you can still import your Blender models and scenes.
The blender artists forum is a good place to talk to Blender users.
Depends on what you want to do.
If you want to make games, then learn C++ and some good API to make your game with. However, do not expect that you just read half a book and jump straight in to the game development. It is not like that.
It is more like this; Pick a language(in this case I suggest C++), learn it(i.e. pick a book, read it and experiment with the language. Simple console applications etc. Hang around the community forums and read topics related to problems with the language. Just be active with the language. Write code, read others code, read even more others code. Just be active) then in the meantime, look around the APIs; SDL, SFML, FMOD, later OpenGL and/or DirectX.
Once you know few APIs, and the language, you can pick an existing engine like OGRE to work on. Just remember that game development is not easy. No one masters it. Do it as a hobby for 5 years, then do 3 years for a full time job just to realize that you still are a complete newbie in the field. More or less everyone is.
I have programmed more or less actively ever since I was 11. That is, 7 years. However, the last 5 days have been at least half as rewarding as in knowledge and skills related to programming as the past 7 years. Why? Because I have been extremely active. I read forums, I write code, I read code, I experiment with the code and I think about the code while I am not around the computer. I have wrapped my life around the code and around the programming. I have integrated it as a part of my life.
Do it as much as possible, do it whenever it is possible. Do not give up. One day you will regret it if you do.
Well, I dont want to program for a living, its just that I want to make a game with my step dad, (He's probably been programing for more than 25 years).
So I just want to learn a bit so I can help out with the basic stuff, and it will help a lot if I understand how games are made..
So its more of a hobby for me
But if I learn with DarkBasic, then all engines are similiar right ? Its still the same principle, so it would be easy for me to change engine at a later stage ?
And there isent really any need to learn C/C++ then is there ?
Also, can you make "Proffesional looking" games with DarkBasic, not that I'm planning to do that or anything, but I'm just trying to understand more about DB.. is it just a simple program you use to make simple games, or is it a proper thing where you can make "proffesional stuff" if you can/want to ?
Thanks for answering my questions
Well, for understanding how games work(internally, as in code, functions, how it all is put together etc), writing a own game is the best way. Do not stress about the graphics, do not stress about anything, just get it done.
If your step dad has programmed for that long, he surely knows this stuff way better than I do. Asking and consulting him might be the best way.
Switching engines is not an easy task. Sure one can learn to program games with DB, and then later apply the expertise, experience and knowledge in future projects which are made in C++& OpenGL, but the DB experience does not help knowing C++/OpenGL.
You always need to know the environment you work in/with. To learn it, experimenting and reading are the best ways, probably the only practical ways.
In your case I would just get into programming with simple language. Simple like QBasic or FreeBASIC (FreeBASIC is greatly influenced by QBasic, so knowing QB will result in direct FB knowledge).
Start simple. Learn on your way. Forums and internet are your best resource for problem solving(once you have given everything you know, and still being stuck!). My biggest mistake was to do everything alone. I learnt alone, I wrote alone, I struggled with the obstacles alone. Now that I finally understand that sharing the burden with others, while helping others with their burden is the best way to go, I am doing so.
Just remember to ask for help. Also help others whenever possible, gives you some experience aswell. You need knowledge.
For a language, I would highly recommend you bypass odd versions of Basic and go straight to Python. If Python doesn't float your boat, then you should probably go to C# as you next consideration. The reason is these languages are approachable, very common thus with a lot of people that can help or that have sample code out there, and also supported by lots of free tools and libraries.
Also, in case you end up discovering a joy for it, what you learn is immediately usable in a variety of settings. Lastly, there's something quickly constraining in any language and environment that hides too much from even novices. I would argue that you do not need to build a game engine to build a good game, but you can go too far the other way...
As for an engine, I would recommend a look at Torque. While many developers seem to outgrow it pretty quickly, it does have a lot of the same factors listed above for language: approachable, big community and docs/tools. If you did go the Python way, you could also consider Pygame or pyglet. I believe there's a book on Pygame...
As for creating an MMORPG, it is often recommended by me and others on this forum to aim a little lower at the outset. First, try some simple code, then try to code up sections of a game so that they stand alone, like a joystick input little program, then to clone a 2D game or convert a favorite board game into a 2D game. Then, try a simple 3D game. Then, the MMORPG...
I wouldn't recommend C# for anyone until they have at least intermediate knowledge and experience of C/C++. The reason is that C# is easy to get into from C++, but getting into C++ from C# is pain. It just does not work so well that way.
Basically, you can learn C# first, and forget about C++, OR
you can learn C++ first and then advance to C#.
There is also second problem; it locks you to a platform and to a operating system. Locks you to a monopoly(or "two", x86 and Microsoft). ...which obviously is not good, everyone hates monopolies, except the companies itself. So there is no practical way to use C# in Mac OS X or in Linux. Yes, there is MONO but can it be considered as equivalent? I doubt it, though, I haven't been in touch with it for few years.
Python is good. Python is great. Especially as a first language.
All IMO, of course...
First, developing Linux (or, worse yet, cross-platform) games right now is a much, much more difficult mission that I would not recommended for a newbie. Much better to get into an environment with lots of tutorials and guides, and people prepared to help you learn the ropes. That environment is, for better or worse, Windows-dominated.
(On a personal note, I got into Linux game development back in the late 90s when Loki and others started firing pistons, only to see it peak madly and die off when the rubber met the road...)
Secondly, I would disagree on the C#/C++ "migration caution". First, I think that it does not apply to Kevin, since he has expressed that he does not want to become a career programmer. My impression is that he's only going to pick and learn one language to "experience" game development. C# productivity, expressiveness and advanced tool availability is well-suited to newbies.
To expand on the disagreement, I would say that any developer that cannot move from any one language to any other language is severely handicapped. There are big changes in either direction that require disciplined approach to mastering; and, I don't think that this approach is "unidirectional".