Jump to content
  • Advertisement
Sign in to follow this  
tapir

Thinking about making video games, where do I start?

This topic is 2565 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

[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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

[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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!