game development beginning

Started by
8 comments, last by Amadeus H 12 years, 6 months ago
[color="#1C2837"]Hi everyone.I love gaming.I want to make career in game development.I wanted to know what kind of tools are used to make games like fifa?For example what code runs when you type "s" to pass the ball.I am very good with java but not that good with c/c++?what should i do?should i first get acquainted with c/c++?From where i can start?should purchase any book?I am also interested in artificial intelligence and 3d graphics
Advertisement
Hello there!

Well, when you press "s", there is probably a function call to PassTheBall() or similar, and what takes place there is anyone's guess. But probably there are some mathematical functions taking in consideration the speed in which the player is traveling, the direction of the movement keys, the particular player's attributes and so on to send the ball flying.

If you're interesting in furthering your experience with programming in general, and C++ in particular, GameDev has an excellent workshop that you can follow if you scroll all the way down on the main forums. I work as a Software Developer and I always want to learn more, but struggle when there's not a "real" project involved. The GameDev workshops help with that, giving you classes, excercises and really interesting projects.

Hopefully you will find it helpful :)
I want to make career in game development.I wanted to know what kind of tools are used

This is the right forum for beginner questions about tools and how to program.
If you ever have career questions, ask those in the Breaking In forum.

-- Tom Sloper -- sloperama.com


[color="#1C2837"]Hi everyone.I love gaming.I want to make career in game development.I wanted to know what kind of tools are used to make games like fifa?For example what code runs when you type "s" to pass the ball.I am very good with java but not that good with c/c++?what should i do?should i first get acquainted with c/c++?From where i can start?should purchase any book?I am also interested in artificial intelligence and 3d graphics


If you are allready very good with Java then you can use that without any problems, LWJGL is a nice and thin wrapper for OpenGL, OpenAL and a bunch of other low level APIs you might want to use. (You can definitly make a game like Fifa using Java). (Using an engine like JME would be easier though)

I wouldn't recommend learning a new language at this point, You can make high quality games using any language (almost, but the exceptions are pretty much irrelevant) and if you want to learn game programming then learning a new language at the same time will only slow you down. (C++ is also a fairly complex language, C (a different language, there is no C/C++) is less complex (and thus easier to learn) but it also has far less features making it very hard to actually use in bigger projects(Which is one of the reasons so many use C++, Java and C# these days)).
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

Hello there!

Well, when you press "s", there is probably a function call to PassTheBall() or similar, and what takes place there is anyone's guess. But probably there are some mathematical functions taking in consideration the speed in which the player is traveling, the direction of the movement keys, the particular player's attributes and so on to send the ball flying.

If you're interesting in furthering your experience with programming in general, and C++ in particular, GameDev has an excellent workshop that you can follow if you scroll all the way down on the main forums. I work as a Software Developer and I always want to learn more, but struggle when there's not a "real" project involved. The GameDev workshops help with that, giving you classes, excercises and really interesting projects.

Hopefully you will find it helpful :)
Thank you so much to all

[quote name='fifa_my_love' timestamp='1317916206' post='4869807']
[color="#1C2837"]Hi everyone.I love gaming.I want to make career in game development.I wanted to know what kind of tools are used to make games like fifa?For example what code runs when you type "s" to pass the ball.I am very good with java but not that good with c/c++?what should i do?should i first get acquainted with c/c++?From where i can start?should purchase any book?I am also interested in artificial intelligence and 3d graphics


If you are allready very good with Java then you can use that without any problems, LWJGL is a nice and thin wrapper for OpenGL, OpenAL and a bunch of other low level APIs you might want to use. (You can definitly make a game like Fifa using Java). (Using an engine like JME would be easier though)

I wouldn't recommend learning a new language at this point, You can make high quality games using any language (almost, but the exceptions are pretty much irrelevant) and if you want to learn game programming then learning a new language at the same time will only slow you down. (C++ is also a fairly complex language, C (a different language, there is no C/C++) is less complex (and thus easier to learn) but it also has far less features making it very hard to actually use in bigger projects(Which is one of the reasons so many use C++, Java and C# these days)).
[/quote]

Actually my friend was saying that most game engines are in either c or c++ as both are faster than java.As i want to make career in game development is it necessary to know c or c++?

Actually my friend was saying that most game engines are in either c or c++ as both are faster than java.As i want to make career in game development is it necessary to know c or c++?


No its not necessary(But it doesn't hurt to know those languages, a good programmer will know far more than 1 language and should be able to pick up and start working with a new one in a day or two if it becomes necessary), C and C++ have 3 big strengths for engine development(Which is really just a small part of game development, many of todays games use other languages quite extensivly, sometimes to the point where the only C++ code used resides in middleware licensed from other companies):
1) Its relativly easy to fiddle with low level details when the compiler fails to do its job.
2) Good (or atleast decent) compilers are available for almost all platforms (This isn't a big deal for the PC, but for consoles it matters)
3) Most languages can use libraries written for C (Which makes C or C++ with a C interface a very good choice for libraries or engines intended to be used from other languages)

Performance has almost nothing to do with the language, C++ is actually a fairly bad language in that regard but it does have a few advantages over Java perfomance wise, the primary ones being that it doesn't really make any guarantees about accuracy (trig functions on x86/x64 for example are horribly inaccurate and most C++ implementations will just go it while Java guarantees a maximum of 1ulp error (Which means it has to do a bit of relativly slow compensating in software on the x86/x64 architectures) and that it allows for compiler specific extensions to the language (Which , when used correctly can boost performance alot)

The main reason why C and C++ are considered fast though is that they have been (and still are) very popular languages which has pushed the development of compilers for those languages forward at a very high pace. Microsoft however is also spending tons of resources on their .Net VM and Sun (now Oracle) used to do the same for Java (I'm not sure how Oracle will handle things, its still too early to tell)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
I think you have two choices here. One is to learn C++. The other is to learn to write games. Later, you can combine them. Trying to learn both together will be a frustrating experience, and could take you longer overall.


Actually my friend was saying that most game engines are in either c or c++ as both are faster than java.
[/quote]
Such a statement is misleading. It takes a lot of effort and experience to write C or C++ programs that are high performance. Average C or C++ programs have no particular performance advantages over other languages, and in fact it is very easy to write naive C or C++ that can be a performance disaster for some common operations, like string manipulation.

There is no magic bullet. If you want to write high performance applications, no language is going to get you there by itself. You will still need to understand how to write high performance code, and many of those skills are language agnostic.

C and C++'s main performance edge is that they don't shield you from the lowest level that a user-mode programmer can go, so you generally are not hindered from making high performance trade-offs. In Java, for example, you cannot control memory allocation and you cannot control garbage collection, which means that you are limited by how good the default implementations are (though they are pretty good for most applications), and any workarounds you can do (e.g. not allocating at runtime to avoid excessive GC).


As i want to make career in game development is it necessary to know c or c++?
[/quote]
From my understanding, if you want to be a game programmer that is the biggest pool to be in, particularly for AAA games.

I think you have two choices here. One is to learn C++. The other is to learn to write games. Later, you can combine them. Trying to learn both together will be a frustrating experience, and could take you longer overall.



I disagree with this - and I believe this is highly personal. Writing a full-fledged game from the get-go is indeed frustrating, especially if you raise the bar too high. However, starting by implementing simple games can be a very rewarding experience - if you're crazy about games and that's your preferred way of learning. For example, implementing a text-based RPG combat system can be infinitely more fun than implementing yet-another-calculator (I can only speak for myself). It depends on what you like.

Don't let anyone, or anything scare you off. Try it out and see how you learn the best.
What works for rip-off, or me, might not work for you.

Though I'd advice against implementing a FIFA clone as a starter project ;-)

This topic is closed to new replies.

Advertisement