Game Engines or Learning a language, and other beginner questions!

Started by
6 comments, last by Telastyn 12 years, 4 months ago
I am second year B.Tech cse student and want to pursue my career as game developer, i have a good amount of knowledge in c++ and basics of computer graphics , I googled a lot about it and other processes involved in making of game.The places where i got stuck are

1) What's the difference between making a game using game engine and through programming? What should i choose?

2)in PROGRAMMING I hear a lot of people talking about c# and python, i know nothing about both, but i know a good amount of basics of c++. So should i start learning with c# and python?? What are advantages and disadvantages associated with each?

3) What are your views about game construction tools such as Unity and Game Maker?
Advertisement
1) I assume you mean: "what is the difference between using a game engine and making your own from scratch?" to which the answer is "probably not a whole lot". One can consume disproportionate amounts of time though. Unless you have persuasive arguments otherwise, you should choose something already available.
2) C++ is hard to use appropriately, has a longer learning curve when it comes to going from beginner to advanced to master and it has a lot of legacy compatibility that can severely hamper a beginner's experience with the language. C# is a derivative of Delphi married with some of the concepts of Java -- a modern language that, by many standards, is beautiful. Python is a interpreted language with a very fast feedback loop -- you program and can quite quickly garner results.

All have their (dis)advantages and their own problems, but C++ is by far the hardest (in good company with C). For a professional, it does have benefits. Using C++, however, does not make you "professional" and using it badly will result in amateurish work.
3) They have their uses in RAD and other forms of prototyping. Unity, however, bears little semblance to a program such as GM as the former carries fewer limitations towards the latter. UDK, CE3 and Unity all stand shoulder-to-shoulder as industry giants; either way, choosing one of them is a proven method, yes.

Hope that answers some of your questions :)
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus

1) What's the difference between making a game using game engine and through programming? What should i choose?


A game engine is just pre-made code to save you from having to do all of the tedious things that every game needs.


2)in PROGRAMMING I hear a lot of people talking about c# and python, i know nothing about both, but i know a good amount of basics of c++. So should i start learning with c# and python?? What are advantages and disadvantages associated with each?
[/quote]

C# and python have the advantages of being well constructed, with large standard libraries, with non-retarded compilation models (among other advantages). C++ has the advantage for now of running on the various consoles.

If you know C++, use C++. If you only know C++ a little, or think it's a fantastic programming language, then it might benefit you to use something that won't cause you so much grief.


3) What are your views about game construction tools such as Unity and Game Maker?
[/quote]

If your goal is to make a game, they're good tools. If your goal is to become a better programmer and games are just the interesting challenge to get there, then they're less good.

3) What are your views about game construction tools such as Unity and Game Maker?


If your goal is to make a game, they're good tools. If your goal is to become a better programmer and games are just the interesting challenge to get there, then they're less good.
[/quote]


Thanks for your advice, actually my aim is to become a game developer, and get a job in some game developing and publishing company as a game developer/programmer.
Keeping this in perspective will using unity and other such tools be helpful.

1) I assume you mean: "what is the difference between using a game engine and making your own from scratch?" to which the answer is "probably not a whole lot". One can consume disproportionate amounts of time though. Unless you have persuasive arguments otherwise, you should choose something already available.
2) C++ is hard to use appropriately, has a longer learning curve when it comes to going from beginner to advanced to master and it has a lot of legacy compatibility that can severely hamper a beginner's experience with the language. C# is a derivative of Delphi married with some of the concepts of Java -- a modern language that, by many standards, is beautiful. Python is a interpreted language with a very fast feedback loop -- you program and can quite quickly garner results.

All have their (dis)advantages and their own problems, but C++ is by far the hardest (in good company with C). For a professional, it does have benefits. Using C++, however, does not make you "professional" and using it badly will result in amateurish work.
3) They have their uses in RAD and other forms of prototyping. Unity, however, bears little semblance to a program such as GM as the former carries fewer limitations towards the latter. UDK, CE3 and Unity all stand shoulder-to-shoulder as industry giants; either way, choosing one of them is a proven method, yes.

Hope that answers some of your questions :)



Thanks a lot dude,
Just one more help if you don't mind.
  • Ok suppose i have decided to use game engines, what game engines would you prefer me to start with?
  • It seems i should keep my C++ learning and mastering for later, and should start learning with c# and python, can you tell me some good books that teaches c# or Python keeping game development in mind.

    Again thanks for your advice and support.
Hi, hope this helps :

1 - I guess you mean the difference of doing everything from scratch or to use an existing game engine?
A game engine lets you start coding the game straightaway rather than trying to create classes/functions to get sound,animation,graphics to work. In simplified terms a game engine is a generic tool of libraries which
let the user do stuff without having to code them themselves. Eg the game engine will have some functions/classes which are used to load a character to the screen. There will be functions which can be used to animate the character as well. If there was no game engine, you would have to create those functions before you can make the game.

2 - Python like Lua are scripting languages. They can be very good at prototyping things yet they are generally slower in performance compared programming languages such as Java, C sharp , C++.

3 - Game maker. try to see if you like designing games. Maybe can be considered like a good first tool to use to get better idea whats going on when you make a game without needed technical knowledge?
Unity on other hand is great tool to make games. Unity handles the low level stuff and the user just has to concentrate on the game programming.

My advice to you?
if you like C++ why dont you just make some small game or some kind of project? Actually making something will teach you more about how the game loop works, project management and you will gain more experience on game development. If you get somebody to help out in some parts it would be even better (as a learning project). After all you can add it to your CV. something to talk about when interviewed.


  • Ok suppose i have decided to use game engines, what game engines would you prefer me to start with?
  • It seems i should keep my C++ learning and mastering for later, and should start learning with c# and python, can you tell me some good books that teaches c# or Python keeping game development in mind.

1) GM is good for 2D games, though a bit restrictive. Torque2D has better support. Unity, UDK and Cry Engine 3 are all good AAA+ quality alternatives - and free for non-commercial purposes as well! There are plenty of options, just do your research and you'll find quite a few more than these :)
2) Yes, C++ can easily be learnt after your mastered more general programming concepts. C# or Python are good alternatives if you are starting out, yes. There are others of course, like Java -- different people will give you different advice. C++ is however as a rule advised against.

As for books. It's been a while since I bought any general C# books, so I'll let you do your own research there to get more up-to-date results. :)
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus


3) What are your views about game construction tools such as Unity and Game Maker?


If your goal is to make a game, they're good tools. If your goal is to become a better programmer and games are just the interesting challenge to get there, then they're less good.



Thanks for your advice, actually my aim is to become a game developer, and get a job in some game developing and publishing company as a game developer/programmer.
Keeping this in perspective will using unity and other such tools be helpful.
[/quote]

Not as helpful (imo) as using a programming language. Very, very few people are career gamedevs even when they manage to get the job at all. Since people who want to be gamedevs are almost guaranteed to do bizdev during their lives, having a more rounded background will help.

This topic is closed to new replies.

Advertisement