Which Language should I use?

Started by
45 comments, last by Oberon_Command 19 years, 2 months ago
Considering your lack of programming experience, I think an FPS is way over your head. You should rather focus on learning OpenGL or DirectX with C++ (don't waste your time with BASIC) and put together some demos (or simpler games) before attempting a large project.

Your first several games are going to be chock full of mangled, unreadable, unmanagable source code. It's best not to learn how to organize code on a large project.

Also, with your lack of programming experience comes the lack of ability to effectively and efficiently debug all the problems that will come up along the way. You need to learn that skill on smaller projects.

"I find the best way to learn the language is to try every new concept you learn in a program until you have a good grasp of the concepts."

Exactly. When I first started coding, I'd learn new concepts by inventing a game and implementing it. These were simple (keyword there) and often stupid games but that's all you need to learn concepts.

You simply can't learn programming by starting with a highly complex game that requires highly complex concepts to implement.

You need to step back and try to be a bit more practical about how you go about learning to make games.
Advertisement
Quote:Original post by Oluseyi
As always, I advocate Python (+ PyGame + PyOpenGL).
Seconded.
so what if you are only capable of basic? If you mean visual basic, I strongly reccomend directx9 development using the .net platform. Visual basic has its similarities to the the visual basic 6 predeccessor, but it was remade with the .net platform and thus, it should be free of what has been making it a language of fools. I have developed vivid game scenarios in real time. Consider vb.net a friend instead of a lack of expertise.
You shouldn't be "only capable" of anything. That simply means your more focused on syntax than concepts which is exactly the wrong way to go about learning how to code. At my work I've used at least four different languages for various projects. I learned one of them (C#) on the job while working on the project that needed it. C++ is simply the industry standard and you should start with that. You can always learn Python or whatever, later. BASIC is pretty much an unneccessary step. C# has made Visual Basic irrelavent unless you've already learned VB or must work on a project which already uses VB.

VB is not intended for games. It's a rapid applications development tool.

If you know C++ you can code in any language.



Python.
Airblade, a game written using Panda3d - a Python 3d Engine.
Quote:Original post by BlackWindbut if you want make it commercial, it may be a better idea to do it in c/c++.... because almost all the tutorials and books used C/C++ as the basis languaje.



Quote:If you know C++ you can code in any language.

That ain't true.


Yeah.. but If all the other use something.. and you just don't like it.. why not stick to your own thing? Nowadays, it does not matter anymore what Language you use . The hardware card takes much of the load, and the DirectX or OpenGL calls are basically the same- whatever language one uses.
(OK- C is mainstream, but look at Delphi 2005- Pascal and C are now both in one program.)

greetz, and lots of happy and Productive coding, M.
Quote:Original post by Brandon N
Quote:Original post by Oluseyi
As always, I advocate Python (+ PyGame + PyOpenGL).
Seconded.

Thirded.
Quote:Original post by Anonymous Poster
Considering your lack of programming experience, I think an FPS is way over your head.


Amen. Given that you haven't even written Tic Tac Toe in BASIC, the chance that you could successfully write a FPS in ANY language is exactly zero.

Start with smaller games first. Go with stuff like Tic Tac Toe, Pac Man, or Tetris. Teach yourself OpenGL and/or DirectX. Study up on game engines. Then look into writing something like a FPS.

If you are interested in C++, check out this book. It covers things at a reasonable pace for beginning programmers.

(my byline from the Gamedev Collection series, which I co-edited) John Hattan has been working steadily in the casual game-space since the TRS-80 days and professionally since 1990. After seeing his small-format games turned down for what turned out to be Tandy's last PC release, he took them independent, eventually releasing them as several discount game-packs through a couple of publishers. The packs are actually still available on store-shelves, although you'll need a keen eye to find them nowadays. He continues to work in the casual game-space as an independent developer, largely working on games in Flash for his website, The Code Zone (www.thecodezone.com). His current scheme is to distribute his games virally on various web-portals and widget platforms. In addition, John writes weekly product reviews and blogs (over ten years old) for www.gamedev.net from his home office where he lives with his wife and daughter in their home in the woods near Lake Grapevine in Texas.

Quote:If you are interested in C++, check out this book. It covers things at a reasonable pace for beginning programmers.


I'll go you one better. Read this book. It's as good as the other one I recommended, and it's free.

(my byline from the Gamedev Collection series, which I co-edited) John Hattan has been working steadily in the casual game-space since the TRS-80 days and professionally since 1990. After seeing his small-format games turned down for what turned out to be Tandy's last PC release, he took them independent, eventually releasing them as several discount game-packs through a couple of publishers. The packs are actually still available on store-shelves, although you'll need a keen eye to find them nowadays. He continues to work in the casual game-space as an independent developer, largely working on games in Flash for his website, The Code Zone (www.thecodezone.com). His current scheme is to distribute his games virally on various web-portals and widget platforms. In addition, John writes weekly product reviews and blogs (over ten years old) for www.gamedev.net from his home office where he lives with his wife and daughter in their home in the woods near Lake Grapevine in Texas.

In response to: if you can code in C++, you can code in anything - "That ain't true."

You must be new because it exactly is. C++ allows you to do anything. Other languages all contain subsets of the concepts you can learn in C++. I use all the concepts I learned in BASIC in C++ but it's impossible to use all the concepts I've learned in C++ in BASIC. BASIC simply does not support them.

"Nowadays, it does not matter anymore what Language you use . The hardware card takes much of the load, and the DirectX or OpenGL calls are basically the same- whatever language one uses."

More misguidedness from the "I just got here, where's my GHZ?!" camp.

Believe it or not there are still systems which do not run at 3.6Ghz or have GeForce FX Ultras or support OpenGL/DirectX. And, believe it or not, you do actually have to know the concepts which those APIs wrap into nice blackboxes before you can really make them do things. What good is an integrate button if you have no clue what it's good for much less when to use it? If you don't understand the inner workings of the hardware you're going to waste a lot of time trying to get DirectDraw to rotate things and be entirely confused as to why you can't.

John Carmack would not be where he is today if he did not write Wolfenstein 3D. Anybody who's paying attention realizes what a tight logical progression through the concepts of 3D all his games are. He didn't miss a step and you simply can't skip one. Otherwise, you'll always be dependent on someone else.

In that "simple" game there is a vast amount of concepts you must learn to create it which then are applicable to every game you will ever make and are stepping stones to more advanced games.

http://www.icarusindie.com/DoItYourSelf/rtsr/realtime3d/lessons34-38.php

^^ how to create Wolf3D. There are also more indepth tutorials based on Wolf5K.com in the &#106avascript section of that site. That section is mostly translation.<br><br>The other bottom line is your bottom line. The lower level you go the more valuable you are. If you don't understand the lower levels of how things work, you are very disposable. You'll always be behind the curve and just keep slipping further and further into obsolecense.<br><br>http://www.icarusindie.com/Literature/ebooks/<br><br>More free programming books.<br><br>Remember: any code monkey can use blackboxes. It takes a real programmer to write those blackboxes.<br><br>

This topic is closed to new replies.

Advertisement