Some ideas about game programming?

2019-04-17 16:52发布

So I'm looking at a game programming tutorial website called 3DBuzz, their website is http://3dbuzz.com/vbforum/sv_home.php

I was looking at some of their classes. They have stuff like Maya and Houdini, in game design/programming/creation, what would these be used for? Creating characters and maps? I also noticed that they have C# and C++ classes, if I wanted to create my own games, per say, start to finish including engine and level design, that may run on either computer or xbox 360, which language should I learn? Should I learn both? Which should I start with?

Finally I noted that they had a Unity course. What is Unity, I see its used to develop these cool 2D and 3D games, should I be learning that? Can I develop games equally as cool in C# and C++? What programming language does Unity use? Is Unity a "pro" language, used by professionals to create professional quality games - if I was looking to potentially specialize in game development as a career, would that be something to learn?

标签: 3d unity3d
2条回答
迷人小祖宗
2楼-- · 2019-04-17 17:00

I notice your questions tend to be very broad and kinda all over the place. So the first thing is to slow down and stop to think.

C++ is the game programming language if you want to be a possessional game programmer. Anyone who tells you different is telling only sort of the truth. Yes, much of the time in a studio you may write python or lua or boo or or or... But your whiteboard tests and your interview questions will be C++ and they will NOT be questions that a competent Java or other language programmer would get if they don't also know C++ because they will be questions about memory management. Common questions are how to implement insert into a doubly linked list. How do you determine if a singly linked list is broken. How do you write a deep copy constructor for an object holding foo*. I know this because I have been the guy asking those questions for 15 years and before that I got asked them, but back in the Dark Ages it was C and Assembly.

You can use games to learn to program and there are some good books out there. But, you cannot learn to program and build a game at the same time. You'll be wasting your time and you will not learn either very well. Play with game tutorials, but focus on learning to code first. Learning to code by writing simple text games is a great way to learn. Guessing games, Elisa, text adventures, even games that translate the rules of a game you are playing like what poker hand wins can help. But leave the under the hood learning till later.

Next, after you can write more than "Hello World!" and you understand the basics find an engine with a good support team and play with that. I would suggest Torque. It's MUCH easier than Ogre and has very good support. You won't be writing C++ though so that's a problem. It will give you a better understanding of game structure and the kinds of programming there are. Games are too big to learn the whole thing. So only focus on what you enjoy.

All that being said, if you just want to play with games as a hobby then I would say any of the script based engines would be the best way to go.

One final issue is that at 21 years old you are at a serious disadvantage if you want to be a professional. Most pros I know started in their early to mid teens. Not that it can't happen, but you need to get serious now and get focused.

查看更多
劫难
3楼-- · 2019-04-17 17:15

For a beginner, the only practical way to get a game to run on the PC and XBox is via C# and XNA.

However, you shouldn't be starting off looking to make a game "start to finish including engine and level design", at least not a 3D game - the amount of work required is too much and the chances that you will finish it are 10000 to 1. It's better to start with a simpler route, eg. a 2D game, and build up from there.

Unity is a 3D game engine. It allows you to develop games without needing to write a graphics renderer, but you still have to do plenty of coding. Whether the resulting game is as 'cool' as one you'd write in C# or C++ depends entirely on your definition of 'cool'.

Unity isn't a language - it's an engine that allows you to use several languages, the 3 supported ones being C#, Javascript, and Boo. Whether you consider it 'pro' or not is, again, down to your definition of 'pro'. Pretty much all console games and most PC games are written in C or C++. But web based games might be written in Flash/Actionscript and/or PHP. Some games like Minecraft and Runescape use Java. Eve Online and Civilization 4 use Python. And so on.

On the whole you shouldn't concern yourself too much with language choice because once you've learned one of these, learning another won't take you more than a week or two, and you're years off being ready for the games industry anyway. Until then, you should just choose the language that most quickly allows you to make the kind of game you want to make.

查看更多
登录 后发表回答