Jump to content

  • Log In with Google      Sign In   
  • Create Account

Thinking about making video games, where do I start?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
25 replies to this topic

#1 tapir   Members   -  Reputation: 100

Like
0Likes
Like

Posted 30 November 2011 - 10:33 PM

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?

Sponsor:

#2 Hodgman   Moderators   -  Reputation: 30385

Like
0Likes
Like

Posted 30 November 2011 - 10:50 PM

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.

#3 Khaiy   Crossbones+   -  Reputation: 1342

Like
0Likes
Like

Posted 30 November 2011 - 10:52 PM

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.

#4 Jungletoe   Members   -  Reputation: 225

Like
0Likes
Like

Posted 30 November 2011 - 11:22 PM

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.

#5 Crusable   Members   -  Reputation: 594

Like
0Likes
Like

Posted 01 December 2011 - 12:49 AM

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.

#6 tapir   Members   -  Reputation: 100

Like
0Likes
Like

Posted 01 December 2011 - 01:04 AM


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.


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 : Posted Image

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

Is 3D programming easier or more difficult?

#7 tapir   Members   -  Reputation: 100

Like
0Likes
Like

Posted 01 December 2011 - 01:09 AM

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.

#8 SimonForsman   Crossbones+   -  Reputation: 6110

Like
0Likes
Like

Posted 01 December 2011 - 01:32 AM

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)


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.


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

#9 Hodgman   Moderators   -  Reputation: 30385

Like
1Likes
Like

Posted 01 December 2011 - 06:35 AM

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 std::string 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.

#10 DarklyDreaming   Members   -  Reputation: 363

Like
0Likes
Like

Posted 01 December 2011 - 07:07 AM


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.

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."
~ Bregma

"Well, you're not alone.

There's a club for people like that. It's called Everybody and we meet at the bar."

~ Antheus


#11 BeerNutts   Crossbones+   -  Reputation: 2945

Like
0Likes
Like

Posted 01 December 2011 - 08:36 AM



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.

A lot of people use guns. They're dangerous too.


Would you advise someone who's never seen a gun to buy one and start playing with it? Or, would you rather them understand what a gun is, the safety issues associated with it, and the ways you can harm yourself? If not, he's apt to shoot off his foot.

If the OP wants to learn what it means that C++ is "dangerous", then he can take the time to understand it, and, once he does, he's welcome to use it. If he just wants to jump in and make a game without knowing what C++ is, how it works, and the pit-falls associated with it, then he's apt to... "shoot off his foot.", so to speak.
My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

#12 EgoDeath   Members   -  Reputation: 110

Like
0Likes
Like

Posted 01 December 2011 - 08:53 AM

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


For what it's worth, when i started programming i just went straight to the task i wanted. No pong games or crappy platform games :) I set about making a huge terrain with a level of detail algorithm. I couldn't have done it any other way. I advise you to enjoy yourself. I didn't have anything to show for my work for ages, but to me it was immensely satisfying working on exactly what i had envisioned in my mind.

#13 DarklyDreaming   Members   -  Reputation: 363

Like
0Likes
Like

Posted 01 December 2011 - 09:05 AM




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.

A lot of people use guns. They're dangerous too.


Would you advise someone who's never seen a gun to buy one and start playing with it? Or, would you rather them understand what a gun is, the safety issues associated with it, and the ways you can harm yourself? If not, he's apt to shoot off his foot.

If the OP wants to learn what it means that C++ is "dangerous", then he can take the time to understand it, and, once he does, he's welcome to use it. If he just wants to jump in and make a game without knowing what C++ is, how it works, and the pit-falls associated with it, then he's apt to... "shoot off his foot.", so to speak.

I was underscoring how stupid it is to start with C++.

As to your analogy, I'd rather hand him a handgun (C#) or hunting rifle (Python) than a bazooka (=C) or rocket launcher (C++) - yes. Don't get me wrong, you can start with the latter - but it's harder to do right than the former and much much easier to do wrong unless you have a pretty damn good teacher! :)

EDIT: actually, scratch that analogy. I realized just how stupid it was after I wrote it -- having had some weapons training, rocket launchers aren't that high-tech compared to more regular weaponry. But I digress. C++ is still shitzels hard and easy to screw up - failed analogy or no.
"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."
~ Bregma

"Well, you're not alone.

There's a club for people like that. It's called Everybody and we meet at the bar."

~ Antheus


#14 kseh   Crossbones+   -  Reputation: 2072

Like
0Likes
Like

Posted 01 December 2011 - 10:47 AM

(though the analogy may be dropped it still has to be said)
C++ doesn't kill people, people kill people.

Maybe a better analogy might be like the difference between a radio and a professional recording studio. You can use both to play music but one has a lot more technical components that can take quite awhile to know what they're for and how to use them effectively. There may come a time that you may want to or should use the complicated technical equipment but it probably isn't the best choice for learning on.

#15 EgoDeath   Members   -  Reputation: 110

Like
0Likes
Like

Posted 01 December 2011 - 11:16 AM

Im surprised everyone goes on about C++ being difficult and dangerous. It reminds me of the current state of aviation. Pilot's have lost their stick and rudder skills (akin to C++), and now rely on the flight computers. It leads to some truly un-believable accidents, that a Private license holder should not even make. Very sad. Either way, even when you are shooting your foot off, you are learning, and that's programming. C++ will make you stronger. I say.

#16 Serapth   Crossbones+   -  Reputation: 5470

Like
1Likes
Like

Posted 01 December 2011 - 11:35 AM

Im surprised everyone goes on about C++ being difficult and dangerous. It reminds me of the current state of aviation. Pilot's have lost their stick and rudder skills (akin to C++), and now rely on the flight computers. It leads to some truly un-believable accidents, that a Private license holder should not even make. Very sad. Either way, even when you are shooting your foot off, you are learning, and that's programming. C++ will make you stronger. I say.


Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.

#17 Kobo   Members   -  Reputation: 128

Like
0Likes
Like

Posted 01 December 2011 - 11:56 AM

C++ analogies are misleading. I use it because pretty much every class I took in college required us to work in C++ (except for a languages course that introduced a bunch of stuff like ADA and Lisp). It is not "hard to learn" and if you're scared of it you should be far more scared of game development in general, which itself in any language is more complicated and demanding to learn than c++.

#18 DarklyDreaming   Members   -  Reputation: 363

Like
0Likes
Like

Posted 01 December 2011 - 12:21 PM

C++ analogies are misleading. I use it because pretty much every class I took in college required us to work in C++ (except for a languages course that introduced a bunch of stuff like ADA and Lisp). It is not "hard to learn" and if you're scared of it you should be far more scared of game development in general, which itself in any language is more complicated and demanding to learn than c++.

Im surprised everyone goes on about C++ being difficult and dangerous. It reminds me of the current state of aviation. Pilot's have lost their
stick and rudder skills (akin to C++), and now rely on the flight computers. It leads to some truly un-believable accidents, that a Private
license holder should not even make. Very sad. Either way, even when you are shooting your foot off, you are learning, and that's
programming. C++ will make you stronger. I say.

Will people for the love of god drop this! Nobody (well, nobody in their right mind) is saying "C++ is hard to learn; avoid at all cost!" -- we're saying "C++ is hard to learn the right way; when used the wrong way it will make for a frustrating laborious and quite frankly horrid experience. You know, maybe wait with C++ until you've learnt to program".

Programming has surprisingly little to do with C++, C#, Python, Boo, Java, Javascript, UnrealScript or <<Insert language here>> -- it has an ungodly lot more to do with variables, boolean logic, constants, data structures, value types, class design, operator logic etc.

Now stop perpetrating the myth that C++ is "easy" or "programmers shouldn't run scared" and start to get why we are saying it instead of just being rebel against what we are saying. Almost any other language aside from C or C++ will give you an easy time as a beginner and allow you to focus on getting actual programming in your head instead of "Oh, C++ throw invalid all over the floor because apparently floorca3k is undefined behaviour when used like this... oh, now I caused a memory leak that took me three days to fix. Hey, let's implement strings using char*!"

Ugh.
"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."
~ Bregma

"Well, you're not alone.

There's a club for people like that. It's called Everybody and we meet at the bar."

~ Antheus


#19 EgoDeath   Members   -  Reputation: 110

Like
0Likes
Like

Posted 01 December 2011 - 01:01 PM

Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.




Yes on a Cessna well done. An aircraft with no bad habit's, a highly 'managed' airframe, flown in highly managed environments (training). That's the closest they get to hands-on.

From there it's all just monitoring an autopilot. By the time they are on an Airbus A300, they have forgotten how to fly. Sad but true.

Anyways seemed like a good analogy at the time.

#20 tapir   Members   -  Reputation: 100

Like
0Likes
Like

Posted 01 December 2011 - 10:36 PM


Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.




Yes on a Cessna well done. An aircraft with no bad habit's, a highly 'managed' airframe, flown in highly managed environments (training). That's the closest they get to hands-on.

From there it's all just monitoring an autopilot. By the time they are on an Airbus A300, they have forgotten how to fly. Sad but true.

Anyways seemed like a good analogy at the time.


Thanks for the replies, but all these different analogies about C++ are confusing.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS