Thinking about making video games, where do I start?

Started by
24 comments, last by Serapth 12 years, 5 months ago
Some time in my life I would like to make video games, because I enjoy playing them and am good at drawing and writing.

First question: In order to be a game programmer, do I need to learn a programming language first? If so, do you think C# or C++ is better?

Second question: Is it better to create a game engine or use a pre-existing one? The idea of creating a game engine seems overwhelming to me.

Third question: What is Blender? Is it a game engine, or graphics engine?

Forth question: Can the Havok physics engine be use with Blender?

Fifth question: Does blender have Maya (a 3D modeling software) support, because I'm used to using Maya?

Last question: should I start out with a simple game development program like Gamemaker?
Advertisement
1) By definition, games programmers need to know programming languages. For beginners, C# is almost universally recommended over C++, because it's a lot easier to use correctly (C++ is a dangerous language, for veterans and beginners alike).

2) If you've not used several game engines previously, then you will not be qualified to make your own.

3) Blender is a 3D modelling program just like Maya. There is also the "blender game engine", which is a game engine that is designed specifically for use with Blender.

Last Q) probably.

Some time in my life I would like to make video games, because I enjoy playing them and am good at drawing and writing.

First question: In order to be a game programmer, do I need to learn a programming language first? If so, do you think C# or C++ is better?

Second question: Is it better to create a game engine or use a pre-existing one? The idea of creating a game engine seems overwhelming to me.

Third question: What is Blender? Is it a game engine, or graphics engine?

Forth question: Can the Havok physics engine be use with Blender?

Fifth question: Does blender have Maya (a 3D modeling software) support, because I'm used to using Maya?

Last question: should I start out with a simple game development program like Gamemaker?


1. Not necessarily. You can do a lot with scripting and pre-made game making programs and engines. If you want to learn to program, I would recommned C#. It's more forgiving for beginners than C++, and is easier to learn.

2. Depends on what you want to do. If you want to make a game, then an existing game engine is the way to go. If you want to learn a lot about coding without progressing on your project very quickly, then you can roll your own. Engines are indeed overwhelming to build on your own, and as a beginner I'd say it's out of reach.

3. Blender is a 3D modeling program which lets you create and animate 3D models for use in games, movies, or whatever else.

4. I don't know for sure (I don't do much with graphics), but I don't see why you wouldn't be able to.

5. I'm not sure what kind of support you mean, but I don't want to lead you astray. I'll leave this one to someone who can give an experience-based answer.

6. Again, depends on what you want. If your goal is to complete a game as soon as possible, then yes. If you are more interested in design than coding, then yes again. If you want to learn about computer programming and are more interested in developing that skill than in designing games, then you might like to jump straight into programming.

And there's no reason you can't do a bit of both if you want to, especially if you start learning a language like Python instead of C# to start. Python is great for scripting and easy to pick up, and also has good support libraries that you can use to make your own games if you choose.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~


Some time in my life I would like to make video games, because I enjoy playing them and am good at drawing and writing.


May I suggest becoming an artist/designer instead? You need to realize that programming is ALL math, while subjects like English (I assume this is what you mean by 'writing') and drawing are less used, but still useful in basic engineering and team projects. So you need to take one of these options:

A) Go with your strengths and attempt art and design. You will most likely not be payed as much (disputed) if you try to get into the industry, but if you're visual then this is for you. Start making 3D models with Blender or create pixel art with MS Paint (it may sound primitive, but it's the best option for pixel art IMO).

B) Tough it out, work on your math skills and research math in your free time, and choose programming. This is the path I chose (I fit the exact criteria you described) and I am enjoying the challenges associated with it thus far. This path is extremely hard and stressing (you'll run into a lot of dead-ends, bugs, etc) but pays off eventually. This path also is 99% math, so prepare to take high level math courses in college if you wish to get a degree.
Im not sure about the rest of the questions but for the first lots of people say to go with an easier language like c# or java before going to c++. however i am currently learning c++(with no prier knowladge to other languages) and its a bit of a challenge, but its really fun so i recommend going there.

[quote name='tapir' timestamp='1322713991' post='4889308']
Some time in my life I would like to make video games, because I enjoy playing them and am good at drawing and writing.


May I suggest becoming an artist/designer instead? You need to realize that programming is ALL math, while subjects like English (I assume this is what you mean by 'writing') and drawing are less used, but still useful in basic engineering and team projects. So you need to take one of these options:

A) Go with your strengths and attempt art and design. You will most likely not be payed as much (disputed) if you try to get into the industry, but if you're visual then this is for you. Start making 3D models with Blender or create pixel art with MS Paint (it may sound primitive, but it's the best option for pixel art IMO).

B) Tough it out, work on your math skills and research math in your free time, and choose programming. This is the path I chose (I fit the exact criteria you described) and I am enjoying the challenges associated with it thus far. This path is extremely hard and stressing (you'll run into a lot of dead-ends, bugs, etc) but pays off eventually. This path also is 99% math, so prepare to take high level math courses in college if you wish to get a degree.
[/quote]

I'm pretty good at math and it is one of the most fun subjects, but I usually practice art instead studying math work. Because of that, my (highschool) grades have suffered, but hopefully summer community college classes will help.

Have you ever heard a graphics gale? If not it's a pixel art/animation program. Here's what it looks like : 1236197975_graphicsgale_interface1.png

Based on the image, is it a better software for creating sprites?

Is 3D programming easier or more difficult?

1) By definition, games programmers need to know programming languages. For beginners, C# is almost universally recommended over C++, because it's a lot easier to use correctly (C++ is a dangerous language, for veterans and beginners alike).


What do you mean by 'C++ is a dangerous language'? A lot of people seem to use it.

2) If you've not used several game engines previously, then you will not be qualified to make your own.


I'd disagree slightly there, I'd say that if you havn't made several games previously then you will not be qualified to make an engine. You don't have to start by using third party engines, you could alsostart by making less complex games without any engine and build your skills from there. (Allthough the short term results will be far less impressive)


[quote name='Hodgman' timestamp='1322715052' post='4889312']
1) By definition, games programmers need to know programming languages. For beginners, C# is almost universally recommended over C++, because it's a lot easier to use correctly (C++ is a dangerous language, for veterans and beginners alike).


What do you mean by 'C++ is a dangerous language'? A lot of people seem to use it.
[/quote]

The language is full of undefined behaviour and some parts (especially the C legacy parts) of it is inherently unsafe, The situation is made worse by alot of internet tutorials essentially teaching C with classes rather than C++ (Thus using things like C style strings and memory management heavily which makes it extremely easy to write software that will crash, burn and possibly open up the users system to outside attacks).
[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!
What do you mean by 'C++ is a dangerous language'? A lot of people seem to use it.
This actually one of the reasons that a lot of people use it ;)

It's based upon C, which was created as a "portable version of assembly" -- it's a very low-level language that tries not to hold you hand. You can very easily write code that makes no sense and trashes the memory used by your program, causing crashes, leaks, etc...
C++ modernises C somewhat, making it much easier to write object-oriented code (and many other styles of programming), but it still keeps the lower-level abstractions of C.
As the saying goes, "In C++ it's harder to shoot yourself in the foot.... but when you do, you blow off your whole leg."

E.g. C is renowned for not having a "string class", meaning that instead of thinking of it's basic text-handling as operating on "text", you've got to remember that they actually operate on "a memory address marking the beginning of stream of bytes, which terminates when a 0-byte is read"... If you want to modify text, you've got to manually allocate, deallocate portions of RAM (while keeping track of which parts of the code 'own' which parts of RAM) and manually copy arrays of bytes around...
C++ tries to make this simpler by adding the [font="Courier New"]std::string[/font] class (which handles all of the byte/RAM abstractions for you), however, you can still write dangerous code and circumvent these niceties, if you chose to -- all the tools to treat anything as a big pile of bytes are at your fingertips.

[quote name='Hodgman' timestamp='1322715052' post='4889312']
1) By definition, games programmers need to know programming languages. For beginners, C# is almost universally recommended over C++, because it's a lot easier to use correctly (C++ is a dangerous language, for veterans and beginners alike).


What do you mean by 'C++ is a dangerous language'? A lot of people seem to use it.
[/quote]
A lot of people use guns. They're dangerous too.
"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

This topic is closed to new replies.

Advertisement