Beginner w/DarkBASIC

Started by
5 comments, last by IG_Yarrick 18 years, 6 months ago
Hey all, I'm a total noob to the game programming universe and this forum. I want to make a few games for friends and family to play, maybe put it up as freeware or something. I just bought the DarkBASIC compiler from Frys and the tutorials don't seem very comprehensive. I borrowed "Beginning game programming" from the library, It deals with C++. I'd like to just learn one language and stick with it. So what is the easiest and best for a amateur? Also, what graphics design program would you recommend for a noob? You know, for drawing sprites and stuff. Any help appreciated, Yarrick
Advertisement
If you want to learn just one language and stick with it, then learn C++. C++ is better because:

a) It's much more powerful
b) It's more portable
c) There's more documentation

Trust me, you aren't really able to do that much with DarkBASIC, and it's programming style (from what I've seen) teaches bad habits. If you want to stick with a BASIC language, then go with FreeBASIC. It's very much like C++, only it's only a few months old so the documentation isn't as great. The syntax is a little more like the DarkBASIC syntax, but the style is wholly different. You can also do many of the things you can do in C++ (like pointers, OpenGL, etc.), but you cannot do Object-Oriented programming in FreeBASIC (which C++ can).

The bottom line for the programming side of things: don't learn DarkBASIC, learn C++ (what most of the world uses) or FreeBASIC (as powerful and fast as C++, but much less complex).

For pixel art (sprites) you can use MSPaint. Or, you can download GraphicsGale (I'd give you a link, but I don't have one).
In terms of being "easiest and best for an amature", C++ is a bad language. It's a tricky language to learn. If you're serious about really getting into game development, then yeah, you'll have to learn C++ eventually, however if you just want to dabble, I wouldn't learn C++ if I were you. It's not easy. I would always recommend learning another language before trying to learn C++, but that's just me.

C++ gives you a lot more freedom, but it also gives you more rope to hang yourself with. It's a hell of a lot easier to write buggy code with a language like C++, because of the freedom it gives you. It can also take many more lines of code to express something that could be expressed more easily in another language.

I've not looked at DarkBASIC, so I can't really comment on it, but if all you want to do is mess about, then it could be a good plan. It does a lot of the work for you, and if all you want to do is make some games, then you're going to get results quicker with DarkBASIC, than you are with C++.

If you're interested in getting into game programming as a career in future, then only learning one language isn't a good plan, and eventually you are going to have to learn C++. I'd advise you to learn something else first though, as it will make learning C++ much less of a hassle, if you understand the concepts of programming already, through experience with another language.

C# might be a good first language for game programming. It has much of the power of C++, but isn't quite as difficult to learn. I don't think being able to use pointers is really an important advantage of C++, not for a beginner.
IF you can only learn one language and stick with it then sure, learn C++. But personally I think C++ is one of the most unforgiving languages on the face of planet Earth. It is not well suited for beginners. I'd sooner recommend you learn more than one language than learn only one.

C++ is powerful now but lacks adequate support of multithreading and won't continue to perform well on multicore processors for that reason. Presently the best languages to start on for multithreading would either be Python with its built-in module for threading, or Java which supports multithreading internally in the syntax of the language. Also: Although these languages have slow bytecodes to make them multiplatform compliant they can also create stand-alone binaries using py2exe and GCJ respectively. Since Python can also be used as a scripting language and supports more platforms and is much easier I'd reccommend it over Java.

I know that is a lot of information to consider as a beginner but nowadays Object-Oriented programming rules. It allows you to reuse your code easily and make it modular. All three of the languages I mentioned are object-oriented. DarkBasic is not object-oriented.

If you decide to go with Python download the PyGame extension and Phil's pyGame Utilities which includes a small paint program and a tile-map editor all written completely in Python and includes the source code. And as for a beginning programming book there is a free PDF file here that teaches the most basic parts of programming and some of the more advanced features of Python.
If you want to learn an advanced language, by all means, learn C++. It is definately a very powerful language, but ask yourself; Do you really think you want to learn such an advanced language? I mean not only will you need to learn C++ itself, but also how to use a graphics API (OpenGL, SDL, DirectX). By all means I reccomend it if you want to make advanced games, but if all you want to make are simple puzzle games and platformers, the I'd reccomend Python.

Python is simple, flexible, and generally alot easier than C++, and if later on you find yourself wanting to make more advanced games, then you can learn C++, which, with your prior programming knowlege of python, will make things just a little bit easier.

I also won't discriminate against DarkBASIC, although I find the syntax a little weird. Eitherway, there are a few links for you below.

ALL:
For Beginners

PYTHON:
Pygames
An Introduction to Python Game Programming

C++:
C++ in 21 Days

DARKBASIC:
Tutorials (the only ones i could find)
Yes, I agree, Python is also a very nice language to learn, and is very powerful, as is Java. These are both good choices for a first language to learn, in my opinion.

One thing to bear in mind, is that DarkBASIC is very much a toy language ( at least to my knowledge, maybe someone can contradict me ), whereas languages like Python and Java, are fully featured languages, and are very powerful. If I recall correctly, BitTorrent was actually written in Python.

Learning Java is also good idea if you want to learn C++ eventually, as in some ways, they are very similar.
Wow, thanks for all the swift, helpful replys! I think I'll try python for now, i like the sound of it.

This topic is closed to new replies.

Advertisement