Be a Supporter!

Hi, I'm new. A little help?

  • 388 Views
  • 20 Replies
New Topic Respond to this Topic
Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Hi, I'm new. A little help? 2013-01-30 08:47:39 Reply

After many hours of searching on google, and searching yahoo, trying to find a compatible C++, C#, VB , teacher is a little difficult. I have tried to find out where to go and what to do but all my searching is leading to dead ends. Then a friend at work reccomended me to newgrounds, he told me to introduce myself, and to search around and see If I find anything.

Well, I introduced myself in the general forums but nothing happened there so i am bringing the topic here.

I am very interested in learning programming for video games. The only problem is that there is so many languages, which ones do i need to know? And how do i learn said languages? Are there certain books you would reccomend, I am just at a loss and confused as to where to start since there is so much informations and way too many different ways on how to appraoch this.

any and all help will be appreciated, If you must know, I do not look forward to creating a game, more along the lines of learning code and programming as a whole so i can better build on existing games. If that makes any sense.

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 08:54:05 Reply

Oh, he did mention something about XNA, where would be the best place to go to learn how to do that? I am very interested in this field and even begin classes at full sail university on feb 4th, I am just trying to garner a little knowledge before I actually go to school to earn my degree in game design and developement.

egg82
egg82
  • Member since: Jun. 24, 2006
  • Offline.
Forum Stats
Supporter
Level 05
Game Developer
Response to Hi, I'm new. A little help? 2013-01-30 10:04:54 Reply

i've never heard of a degree in game design and development. I've heard of a degree in AAS (Associate in Applied Science) with a certificate in game engine design (which is what i've been going for), but that's as close as i've seen to something that says "I make games."

at any rate, Diki's going to recommend Python, and I don't blame him.

i'd recommend AS3, but since you're just trying to modify existing games, i'll recommend C++ and C#.
then again, I suppose it wouldn't hurt to take on AS3 as a side in your situation. There may be a few jobs you can grab with it.

Java seems like it could either go really well, or really badly.

in the end, it's really all up to you.


Programming stuffs (tutorials and extras)
PM me (instead of MintPaw) if you're confuzzled.
thank Skaren for the sig :P

BBS Signature
Dean
Dean
  • Member since: Feb. 16, 2008
  • Offline.
Forum Stats
Moderator
Level 46
Gamer
Response to Hi, I'm new. A little help? 2013-01-30 11:30:46 Reply

At 1/30/13 10:04 AM, egg82 wrote: i've never heard of a degree in game design and development.

They have degrees like this in the UK but they're a fairly new thing. I do computer science and one of my lecturers is into game design type stuff. He apparently attends a lot of the big conferences and speaks to people in the industry to find out what kind of skills they're looking for. If I remember rightly, he told us that with the exception of 2 (I think) universities in the UK, none of the game design courses are really taken seriously by the gaming industry. They'd much rather have a well rounded computer scientist than someone who focused entirely on games.

I was also told pretty much the same thing back in highschool when I was considering applying to a games design course at university. Although now I'm glad I avoided the game design courses because I have no idea if that's something I'd like to end up doing. I'm in my final year of the computer science degree now and I've signed up for a computer games programming class, so I should be able to learn the basics from that anyway.


BBS + Chat Moderator - Feel free to send me a PM if you have a problem!
Want to instant message me? [ Skype - DeanNewgrounds ]

BBS Signature
Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 14:00:15 Reply

At 1/30/13 11:30 AM, Dean wrote:
At 1/30/13 10:04 AM, egg82 wrote: i've never heard of a degree in game design and development.
They have degrees like this in the UK but they're a fairly new thing. I do computer science and one of my lecturers is into game design type stuff. He apparently attends a lot of the big conferences and speaks to people in the industry to find out what kind of skills they're looking for. If I remember rightly, he told us that with the exception of 2 (I think) universities in the UK, none of the game design courses are really taken seriously by the gaming industry. They'd much rather have a well rounded computer scientist than someone who focused entirely on games.

I was also told pretty much the same thing back in highschool when I was considering applying to a games design course at university. Although now I'm glad I avoided the game design courses because I have no idea if that's something I'd like to end up doing. I'm in my final year of the computer science degree now and I've signed up for a computer games programming class, so I should be able to learn the basics from that anyway.

RIght. Its a fullsail university and it is a bachelors in computer science. The only problem is that I want to learn a little bit about it before hand. I've bought a gook called "jumping into C++" and hopefully it will give me some direction.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Hi, I'm new. A little help? 2013-01-30 14:17:57 Reply

Depends on which platform you want to release games for.

If you want to make PC games a good starting point would be C# which would allow you to use the Unity3D game engine. After getting comfortable with that you could move onto C++ if you like (which is more powerful, but also far more complex).

If instead you won't to make mobile games for iOS or Android you'll need to learn Objective-C or Java respectively (iOS uses Objective-C and Android uses Java). You'll also need to learn how the SDKs for iOS/Android work before you even start working with a game engine on those.

If you want to make web-based games your best bet is to learn JavaScript and use HTML5. It will be deployable to pretty much every platform, something that cannot be said for using Flash.

All of those languages are good languages for a beginner to learn, so you can't really go wrong with any of them.
As for learning resources I unfortunately don't know of any for those off-hand, but finding books to learn from isn't too difficult. If you find one from O'Reilly it will probably be a solid learning resource.

At 1/30/13 02:00 PM, Maulkior wrote: I've bought a gook called "jumping into C++" and hopefully it will give me some direction.

I don't recommend learning C++ if you're just starting out. It's a very difficult language to learn, let alone difficult for someone not already comfortable with other programming languages.

At 1/30/13 10:04 AM, egg82 wrote: at any rate, Diki's going to recommend Python, and I don't blame him.

Nope. :)
Python is great at a lot of things, but game development isn't one of them (in most cases).

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 14:33:40 Reply

At 1/30/13 02:17 PM, Diki wrote: Depends on which platform you want to release games for.

If you want to make PC games a good starting point would be C# which would allow you to use the Unity3D game engine. After getting comfortable with that you could move onto C++ if you like (which is more powerful, but also far more complex).

If instead you won't to make mobile games for iOS or Android you'll need to learn Objective-C or Java respectively (iOS uses Objective-C and Android uses Java). You'll also need to learn how the SDKs for iOS/Android work before you even start working with a game engine on those.

If you want to make web-based games your best bet is to learn JavaScript and use HTML5. It will be deployable to pretty much every platform, something that cannot be said for using Flash.

All of those languages are good languages for a beginner to learn, so you can't really go wrong with any of them.
As for learning resources I unfortunately don't know of any for those off-hand, but finding books to learn from isn't too difficult. If you find one from O'Reilly it will probably be a solid learning resource.

At 1/30/13 02:00 PM, Maulkior wrote: I've bought a gook called "jumping into C++" and hopefully it will give me some direction.
I don't recommend learning C++ if you're just starting out. It's a very difficult language to learn, let alone difficult for someone not already comfortable with other programming languages.

At 1/30/13 10:04 AM, egg82 wrote: at any rate, Diki's going to recommend Python, and I don't blame him.
Nope. :)
Python is great at a lot of things, but game development isn't one of them (in most cases).

Again, its great that people are telling me these things, but what are the best ways of learning it? How do i learn it? What book should i buy? That kind of thing. I am interested in learning these things but the hardest part is getting to that point. I now understand that I need to learn c#,but where would be the best place to learn, I am really tired of looking on google for C# knowledge only to come up with compilers.

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 14:36:32 Reply

Also, what kind of compiler should i use?

This is all very new to me and I feel like information overload because there is so much. I need a tutorial or something in order to grasp the concepts.

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 14:44:07 Reply

I've downloaded visual studios 2012 express, says it allows coding in c# and c++.

That good?

kiwi-kiwi
kiwi-kiwi
  • Member since: Mar. 6, 2009
  • Offline.
Forum Stats
Member
Level 09
Programmer
Response to Hi, I'm new. A little help? 2013-01-30 15:53:33 Reply

People here have recommended unity, as will I. Here is the manual and a download link

Have some patience and start reading, once you feel start playing with it, doesn't matter how it ends up as long as you do it.
If you want to learn HTML5 I can recommend the MDN

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-01-30 15:59:02 Reply

Thank you, I want to end up making games for the PC platform. Making and building up on them. Mostly buildling up on them.

FantasticAxiom
FantasticAxiom
  • Member since: Jun. 6, 2012
  • Offline.
Forum Stats
Member
Level 01
Programmer
Response to Hi, I'm new. A little help? 2013-01-31 22:35:15 Reply

Since you seem interested in C++ I'm going to recommend this:

http://www.youtube.com/course?list=ECAE85DE8440AA6B83

It's a bunch of short video tutorials that take you through pretty much every concept in C++. The guy who made them is really good at explaining things and he does it at just the right speed for anyone who's new to programming. You should have the basics down in a week with this, but don't expect it to end after that.

After this you'll want to learn how to use an SDK built for games, probably 2D. Learning different coding libraries tends to be the most frustrating thing one ever has to do, but luckily there's a pretty good tutorial for allegro 5 that will teach you most of the stuff you'll need to know both within the library and in game development in general:

http://fixbyproximity.com

I can't find the actual tutorial page since the site seems to be down right now, but when it's up it should be in one of the menus at the top of the page.

Moving on to 3D after this shouldn't be the hardest thing ever. I haven't used a 3D library built for gaming, but I have tried DirectX which is basically just a low-level 3D rendering library. I'd recommend learning it just for clarity even if you don't plan on programming with it directly. A text-only tutorial can be found here:

http://www.directxtutorial.com/LessonList.aspx?listid=11

Obviously 3D gaming libraries will handle all that stuff for you, but it's just good to know.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 00:04:16 Reply

At 1/30/13 02:33 PM, Maulkior wrote: Again, its great that people are telling me these things, but what are the best ways of learning it?

The best way is to go to school. The second best way is to read a book on the subject.

At 1/30/13 02:44 PM, Maulkior wrote: I've downloaded visual studios 2012 express, says it allows coding in c# and c++.

If you're using Windows then Visual Studio is pretty much your best bet for C++ and C# (Microsoft created C# remember, and they created Visual Studio, so they work well together), but I don't recommend learning C++ at this juncture (see below).

At 1/31/13 10:35 PM, FantasticAxiom wrote: Since you seem interested in C++ I'm going to recommend this:

http://www.youtube.com/course?list=ECAE85DE8440AA6B83

I took a quick skim through a few of these and they seem pretty solid. I don't agree with the order in which the topics are taught (which if of course just a matter of opinion), but the topics themselves are taught well, and the dude knows what he's talking about.

However since the OP is just starting out C++ is not a good language for him to be learning. Good languages for a beginner are something like Python, Ruby, C#, or Java, but definitely not C++. It's just too complex of a language.
Since you want to make games I highly recommend learning C#. It's easy to learn and is powerful enough to make robust 3D games, and the Unity3D supports C#.

Like I said earlier in the thread I don't know of any C# books off-hand but you can just look for an O'Reilly book on the subject (there will be plenty) and you'll be fine. If you're short for cash and can't afford to pay for one I'm sure you can figure something out (hint hint).

FantasticAxiom
FantasticAxiom
  • Member since: Jun. 6, 2012
  • Offline.
Forum Stats
Member
Level 01
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 02:54:07 Reply

I went in to C++ with no knowledge of programming whatsoever and I did just fine.

The hard parts are just the OOP itself and memory management. Strip that away for the earlier tutorials and it's like learning any other language. I'll admit pointers seem absolutely mind boggling at first, which is why I just rewatched the segment on that a few times and eventually it clicked and I moved on.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 04:07:05 Reply

At 2/1/13 02:54 AM, FantasticAxiom wrote: I went in to C++ with no knowledge of programming whatsoever and I did just fine.

Be that as it may it doesn't change that C++ is not a good language for beginners to learn. Just because it worked for you doesn't mean it will work for others.

At 2/1/13 02:54 AM, FantasticAxiom wrote: The hard parts are just the OOP itself and memory management. Strip that away for the earlier tutorials and it's like learning any other language.

And this makes me think you didn't actually learn C++.
OOP is only one part of C++. In fact OOP did not even exist in C which C++ is a superset of (C is a procedural language). Memory management is vital, but to say it's only one of two "hard parts" is disingenuous. Templates alone are enough to show that C++ is not for beginners.

At 2/1/13 02:54 AM, FantasticAxiom wrote: I'll admit pointers seem absolutely mind boggling at first, which is why I just rewatched the segment on that a few times and eventually it clicked and I moved on.

And right there is precisely what I am talking about.
Pointers, among other things found in C++, are very difficult to comprehend even for a seasoned programmer. Combine that with references, templates, const members, static members, buffer overflows, type conversions, overloaded operators, et cetera, and you have a recipe for disaster for someone not experienced with programming.

When someone is new to programming they should be learning one thing: how to program. With C++ you have to learn both the complexities of C++ as well as how to program. With simpler languages such as Python or Ruby that is not an issue.
Learning programming by first learning C++ is like learning how to swim by jumping into the ocean without a flotation device.

To make a small test: take a took at my post on C++ in the programming regs lounge. Do you know what keyword is missing in that code?
If you don't then you do not know C++. If you do then you may very well do know C++, but that still does not make it an adequate language for a beginner.

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-02-01 09:44:04 Reply

This is all good information that I need. Thank you.

I actually went to the local community college and sat down with a professor who understood my enthusiasm and actually emailed me his notes. I told him I wasnt a student and he said that I seemed more excited and able to learn it than anyone in his class, he even invited me to come sit in a couple of the introductory courses. He sent me oogles upon oogles of notes and power points.

I have an amazing factual recall. I was actually instructed by the professor to jump straight into C++, he says that he can tell I'm going to have a knack for it. I will continually post my progress on these forums and If I am doing anything wrong feel free to point it out. My first class with him is tonight so we shall see if i learn anything tonight.

VBAssassin
VBAssassin
  • Member since: Jul. 22, 2008
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-02-01 10:20:48 Reply

Easy enough, step 1, learn C#.Net, step 2, learn XNA to create computer games for windows and xbox. It will also open the door to you quickly picking up other C based languages like PHP and Java as well as opening many C#.net jobs to you.

However, be warned, it may take a few years for you to pick it all up to a strong level.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 10:23:10 Reply

At 2/1/13 10:20 AM, VBAssassin wrote: like PHP

Don't learn PHP. It is an unbelievably terrible language.

Maulkior
Maulkior
  • Member since: Jan. 24, 2013
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Hi, I'm new. A little help? 2013-02-01 11:57:16 Reply

Thanks all!

FantasticAxiom
FantasticAxiom
  • Member since: Jun. 6, 2012
  • Offline.
Forum Stats
Member
Level 01
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 13:41:27 Reply

At 2/1/13 10:23 AM, Diki wrote:
At 2/1/13 10:20 AM, VBAssassin wrote: like PHP
Don't learn PHP. It is an unbelievably terrible language.

Diki: the ball breaker.

Regarding the example I only ever used temples in one degree so I have no answer. But that example is pretty accurate as far as how annoying compiler messages can be :/

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Hi, I'm new. A little help? 2013-02-01 14:25:15 Reply

The compiler can only tell you so much, and in that example it is unable to resolve the Ty::value_type due to value_type depending on a templated type. Since it doesn't know what the type is it doesn't give that great of an error message. Just more reasons a beginner shouldn't be learning C++ first. The stack traces in Python, for example, are much more helpful.

The keyword is "typename" by the way. Place that before all instances of Ty::value_type and it will work.