PDA

View Full Version : Game Design



plutoismyhome
09-26-2007, 12:40 PM
What programming language(s) do I have to learn to make a 3d, single player game, with graphics and AI to match todays commercial standards. I have no exprience programming, but have a good knowledge of computers. I know this may sound silly to most, but I am not your average person anyway. I have a strong will, and that's all I need to learn, perhaps I would need talent to master game design, but we shall see if I have it.

Please tell me what Languages I should learn, and in what sequence. i.e. C, then C++, or just C++, what languages are needed to make a game engine and a 3D game?

Thanks,

Michael, and Raphael.

dwks
09-26-2007, 12:53 PM
Writing programs is complicated. Writing games is even more so. Writing 3D games, well . . . it takes a very long time. If you start programming now, don't except to be writing a 3D game in a few months. Except perhaps a text-based adventure game, with colour if you're lucky. :)

Learning more than one language is probably unnecessary, and there's certainly no real basis to learning C before C++. You have to un-learn a bunch of stuff if you do. On the other hand, just learning C for the sake of C could be an option.

If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately.

Moderators: Perhaps this is in the wrong forum.

Prelude
09-26-2007, 12:56 PM
>but I am not your average person anyway
You sure seem like one of the countless boobs we see around here with zero programming experience, a "strong will", and the desire to make the next commercial 3D blockbuster game singlehandedly.

>Please tell me what Languages I should learn, and in what sequence.
I'd say C, C++, and assembly as the base three. But knowing a language or two doesn't mean you can suddenly write a 3D game. :rolleyes:

plutoismyhome
09-26-2007, 01:31 PM
A note to the moderators: WE asked for help not criticism. And I say we becuase it is not one, but me and my brother, so "you sure seem like one of the countless boobs we see around here with zero programming experience, a "strong will", and the desire to make the next commercial 3D blockbuster game singlehandedly." Is and inappropriate statement. Thank you, however, for those few words of advice that was helpful.
We know this may take years, and not months certainly, but we do not expect instant gratification, our line of work (concert pianists) teaches us of the time required to learn.
What did you (DWKS) mean by, "If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately." how else do you create 3D games if not by programming?? we are quite confused, as we have understood, the game engine and AI etc. is written using C++ generally, and something like 3ds Max or Maya is used for graphics. This was from reading online, but if we are misinformed please do tell us what is needed in the way of programming languages, and 3D programs.

dwks
09-26-2007, 01:40 PM
A note to the moderators: WE asked for help not criticism. And I say we becuase it is not one, but me and my brother ...
"You" is both plural and singular in English. Also, you used "I" in several places in your original post. As well, most posts on this forum are composed by one individual, so you'll have to forgive someone for overlooking your plural-ness in your case. :)


What did you (DWKS) mean by, "If all you want to do is to create 3D programs then perhaps programming in C or C++ is not a good idea. It's definitely worth it, in my opinion, but you're just not going to create 3D programs immediately." how else do you create 3D games if not by programming?? we are quite confused, as we have understood, the game engine and AI etc. is written using C++ generally, and something like 3ds Max or Maya is used for graphics. This was from reading online, but if we are misinformed please do tell us what is needed in the way of programming languages, and 3D programs.
Your information is pretty much correct. But those are commercial or large games. If you just wanted results and didn't care too much for performance or flexibility, you could mod an existing game or something like that. The results wouldn't be as nice, but you'd get something done faster.

If you just want to learn something new, by all means learn to program. If you want to learn how to program specifically to create 3D games, you may be out of luck.

CornedBee
09-26-2007, 01:48 PM
1) To notify the moderators of something offending, use the little warning triangle in the bar to the left of posts.

2) But don't bother when it's a moderator making the comment in the first place. Look, we're not a cuddly bunch of people; we treat people with respect when they've earned respect, with disdain when they've earned disdain, and with sarcastic comments when they make statements like, "I am not your average person". Either deal with it, or go somewhere else. We don't have time to mollycoddle people who are easily offended.

3) You may think you're special. To us, you're just one more person who comes along with no programming knowledge and asks the same, boring question without searching the board first.

4) We are the guys answering. You get the answers we decide to give you. If we decide you need help, you get help. If we decide you need a reality check concerning your goals, you get that. And if we decide you need criticism concerning your attitude, you can be sure that you'll get that, too.

I mean it, search the board before you ask questions. Look what I've found on the first results page searching for "language" in this forum:
http://cboard.cprogramming.com/showthread.php?t=88291&highlight=language
http://cboard.cprogramming.com/showthread.php?t=88238&highlight=language
http://cboard.cprogramming.com/showthread.php?t=87513&highlight=language

matsp
09-26-2007, 01:49 PM
There are several books on the subject of "3D Game Programming" and the like. I can't recommend one, because I'm not a games programmer as such. I do understand (and have worked with) some of the 3D graphics primitives used by 3D games, but I'm very far from an expert.

I would say that you can write basic 3D applications (be that games or other types of applications) in just about any language modern computer language (and old ones too - Fortran would probably be a bit better than Cobol).

C is a good base for understanding C++, but some people argue that if you know too much C, you can't write good C++. I would say, learn C, then C++.

But the point dwks was making is that you DON'T have to use either C or C++ for your game, you could use a language that requires less knowledge of "what happens under the hood", like Java, Visual Basic or perhaps Flash.

And start with a 2D game, as 2D can be difficult enough for a starter project.

A proper 3D game at the level of Quake or such is the total effort of dozens of people for a year or two. Not something you cobble together in your spare time in a few weeks.

--
Mats

mike_g
09-26-2007, 01:55 PM
I'd say something like Blitz 3D (http://www.blitzbasic.com/) would be your best best if you want to make a 3d game with no programming experience.

DBProgrammer
09-26-2007, 03:30 PM
I started with DarkBasic Pro its really easy to use and within a week you could have a base for a FPS!

Frobozz
09-26-2007, 11:26 PM
I'd say something like Blitz 3D (http://www.blitzbasic.com/) would be your best best if you want to make a 3d game with no programming experience.
I wouldn't recommend Blitz 3D for two reasons. First, its very slow - I tried making pong in it and it was jumpy on a dual core system with a Radeon X850 XT. Second, it only supports up to DirectX 7 and while you can fake certain effects like cel shading and bloom it just won't be as good or as fast as the real thing.

Personally I'd recommend trying Visual C# (http://msdn2.microsoft.com/en-us/vcsharp/default.aspx) and either Managed DirectX (http://msdn2.microsoft.com/en-us/directx/default.aspx) or Microsoft XNA (http://msdn2.microsoft.com/en-us/xna/default.aspx).

BobMcGee123
09-27-2007, 02:11 PM
Get used to programmers being as$holes.

Prelude
09-27-2007, 02:31 PM
>Get used to programmers being as$holes.
I sense bitterness. ;)

mike_g
09-27-2007, 03:01 PM
I wouldn't recommend Blitz 3D for two reasons. First, its very slow - I tried making pong in it and it was jumpy on a dual core system with a Radeon X850 XT. Second, it only supports up to DirectX 7 and while you can fake certain effects like cel shading and bloom it just won't be as good or as fast as the real thing.
Yeah its slower than what you can get out of C/C++ thats for sure, but seriously, you shouldent be having problems with pong! My best guess is that you would have been using the demo version which can only be run with debug enabled, which cripples the speed. Either that or you screwed up your code somehow. As for for it only supporting up to dx7, you can't get state of the art graphics either, but for someone new to programming I still reckon they would have a hell of a lot better chance of producing a game with it considering how much simpler, and easier to understand, it is.


Get used to programmers being as$holes.
No-one is capable of creating "a 3d, single player game, with graphics and AI to match todays commercial standards." off the bat without any coding experience, no matter how clever or determined they are. It might sound mean, but its the truth.

matsp
09-28-2007, 02:00 AM
If there was such a thing as a IndyCar or Formula 1 designers forum, would you expect one of the members there to tell you exactly how to go about designing a racing car, if you in the previous statement roughly said "I have no experience in automotive engineering"? Probably not.

Software design is an engineering (and to some extent art) form, and it's not something you can just give over to someone else in a few short sentences. It takes learning and experience to become a software engineer - strong will and interest will of course help.

--
Mats

Frobozz
09-28-2007, 06:30 AM
My best guess is that you would have been using the demo version which can only be run with debug enabled, which cripples the speed.
I guess it could be for two reasons. First I had tried to emulate per-pixel lighting by using a relatively high number of triangles (at the time I was able to use up to 100K triangles in the entire scene and still get around 60fps). Second I was using two light sources - one for illuminating the playfield that followed the ball and a second to briefly illuminate a paddle after the ball had hit it.

However I still blame Blitz3D. Most of the games made for it are actually CPU limited rather than GPU limited.

VirtualAce
09-30-2007, 01:22 PM
I guess it could be for two reasons. First I had tried to emulate per-pixel lighting by using a relatively high number of triangles (at the time I was able to use up to 100K triangles in the entire scene and still get around 60fps).


Lightmapping anyone? No need to simulate per-pixel lighting. Sounds like you were fighting against the engine instead of working with it.


And this is one of those 'general' questions about game programming. As such I'm placing it on the GD board.
When you have a specific 'real' question about code for game programming come back here and ask it.