A Teen Interested in GD

Started by
25 comments, last by phil05 19 years, 1 month ago
- Which programming language should i start out with?

Well if you ask me i would say C#! mainly because thats what i started out with (though i haven't made anything but "text based games" ) but i found it very easy to learn with my PHP, and &#106avascript background.

- Do you recommend any specific books/series?

I recommend the "For Dummies" (very good step by step basis) books at http://dummies.com/ . And the "In Easy Steps" series (very cheap and agian step by step basis).

- I know this is pretty far away, but what kind of colleges should I be looking at if I want to be a game developer as a job?

I wouldn't know I only 15 years old (I would like to know too).

- Do I need any particular programs to make my own beginner games at home?

All you need is a compiler but if you go with C# I would sujest that you get " Microsoft Visual C# " (but you done need it).

- Thanks so much! I'll try out those sites! Any recommendations on a cheap compiler? I have a feeling I shouldn't be looking at Wal-Mart...

Umm... If you do go with C# just download Dot NET Framework from microsoft.
Advertisement
Alright, I didn't really attempt to answer any of your questions in my last post and I'm still bored, so here goes:

Quote:Original post by allekat11
Which programming language should i start out with?


This question is bound to get a range of vastly differing answers, and I'm sure my answer will be no different. I personally say go with whatever you want -- just be wise in your decision. If you'd prefer dealing with things on the higher level and thus with increased productivity, then .NET (C#, VB.NET, MC++, and C++/CLI) is for you. However, if you'd prefer to get your hands dirty if you know what I mean, go with C++. Not C, however. C++ is a superset of C, therefore making C alone in a way deprecated for many platforms.

As far as learning times go: .NET languages could be as short as a month, whereas C++ could be up to half a year. C++ is advanced; it is not designed for beginning programmers. But that does not mean you can't start with it. I did, and I've turned out find. Many do, and many turn out fine.

However, I do not recommend using a special "game" language such as Dark Basic of BlitzBasic. It seems you want to work as a professional. Using such languages will really get you nowhere. They are considered to be "baby" languages, in that they isolate the programmer from many difficulties commonly encountered in any endeavor of programming, such as memory issues. The "real" games (as in the big budget commercial ones) are vastly more complex pieces of software than any of these "game" languages could possibly support, and by using them you will never gain the expertise to deal with huge, very complex code bases.

Quote:Original post by allekat11
Do you recommend any specific books/series?


Yes! I haven't read any of the brand spankin' new books for beginners, but here's the books I used to get started:

  • Tricks of the Windows Game Programming Gurus, 2nd Edition, by Andre LaMothe - This is an excellent book. However, it does assume a basic knowledge of C/C++, so if you're not yet familiar with their syntax, maybe hold back on it. But once you know them, definately don't hesitate to by this book. It is in my opinion the very best beginning game programming book.


  • Game Programming All In One, by Bruno de... - This is a pretty good book too. As the name implies, it's for beginners. It's not as well-done as the above book is though. So why do I still recommend it? Because it offers a pretty good treatment of C++ for the aspiring game programmer. In fact, it's first half is completely dedicated to teaching C++ with an emphasis on game dev.


  • C++ for Game Programmers, by Noel Llopis - Be warned: this is an advanced book, focusing on complex OOP design patterns with C++. Get this only once you are fairly experienced with C++. It is truly excellent though, and really changed the way I write code in C++.


  • Data Structures for Game Programmers, by Ron Penton - This is an awsome book covering data structures (duh!). But what's really cool about it is the author walks you through step by step throughout the book on how to develop a decently full-featured tilemap engine, and then a game using it! Definately a book to buy once you've got down some basic C++.


That's about it as books go. Each book listed is excellent, so do try to read them all throughout the years. They will help tremendously. I recommend starting out with Game Programming All In One.

Quote:Original post by allekat11
I know this is pretty far away, but what kind of colleges should I be looking at if I want to be a game developer as a job?


Unfortunately, I don't know too much about this question yet, as I'm only 15 and haven't been through college yet. However, I do know that at least a bachelors in Computer Science, Software Engineering, or some equivilant is required by most game development studios.

Quote:Original post by allekat11
Do I need any particular programs to make my own beginner games at home?


Yep! You really only need a compiler for you language of choice. Check out this for starters.

BTW, if you choose C++, I recommend getting the Visual C++ 2005 Express Edition Beta from Microsoft here. It's free!

I hope this helps, and good luck!
colledge(this is the elite programming school, the course is so hard, 1/3 of fresman drop out in 6 weeks):http://www.digipen.edu/

read this, especialy the comman mistakes:http://dime39.dizinc.com/~rav/newbies/#2.0
I does not matter what language you pick. C++ and it's unmanaged kin are the most unforgiving. C++ is very flexible - but with that power you can create something that might work but would make other developers curse.

C# and Java allow developers to concentrate on design rather then the memory management details so much. Both these technologies have been applied to games, and the current state of Mobile phone gaming platform could be compared to the heady days of the 80s where people can make commerically successful games in their garages.

This is a basic metaphor... the higher up on the list the more effort and skill is required for a good stable result - and the slowest to come up with anything on screen.
From the bottom up you get things done quickly that may look about the same.

C / C++ is like modelling with matchsticks and glue
C# and Java is like modelling with clay
Blitz and VB is like modelling with lego

Any of these tools can still make poor looking models though, and equally make impressive ones. Each require slightly different skills but are transferable between all. Each have their die-hard evangelists too which you should watch out for (usually around here the "use C++ or your not l33t" idiots).

If you want to make a pot you might choose clay... sometimes though the choice of platform isn't yours to make or so simple. For instance you could make a model plane using any of those tools, all that look very similar.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Quote:However, I do not recommend using a special "game" language such as Dark Basic of BlitzBasic. It seems you want to work as a professional. Using such languages will really get you nowhere.


The first programming language you learn isn't going to be the only one you learn. There's plenty of time to learn a language more used in the industry such as C++ down the line when you're a more confident and experienced programmer. It's a whole lot easier to make games in Blitz Basic than it is in C++, it's also a far simpler language.

[edit]That said I'd still recomend Python over Blitz Basic[/edit]
Hey!

I had the same problem (and I am 15 too), and... I still kinda have portions of it, but at least I was able to decide upon a language.

My choice is C#. Here's why...
It is a very elegantly designed language which is even more readable than Basic.
What I mean is that every part of it does make perfect sense right away.
Then, it is an OOP language which, IMO, is fantastic, as OOP is fantastic. I won't go very deep explaining what OOP is, as this is a very involved topic on its own, but I'll say, and I really think 99% percent of people here will agree with me, that OOP is the best way to program. And since C# is, IMO, the best OOP language, it's the best choice.

Then there's perfect support of DirectX 9.0, even though it's Managed. But that doesn't mean anything. That means it's more simple in a good way... I mean, why does C++ programmers always state the complexity, often unnecessary, as an advantage? They seem to enjoy reinventing the wheel over and over again. Whereas C# and MDX are as powerful as C++ and DX, but without that complexity, so you can concentrate on the design. Plus, don't listen to all that stuff about C# and MDX being slow etc. It's totally not true. I mean, if you are a good programmer and desgined a good game technically, there won't be any performance issues, while if you wrote crappy code, it doesn't matter what language it's written in - it will still lag like hell.

As an example, consider a very good commercial game, which had some good reviews scores, Arena Wars (www.arenawars.net). It's written in C# and OpenGL. And it runs perfectly. There is absolutely nothing that sort off gives away its C# origin. It's fast, with beautiful graphics, great AI and interface, great Net play etc. etc. And it was, as I said, rather successful. Yes, it is OpenGL, but then... If it runs perfectly in not-well-.NET-supported OpenGL, imagine how will it run in 'official'-to-.NET MDX? ;) There's also a game called Tin Soldiers, which used MDX and which also worked perfectly.

The problem is: C# is relatevly new thus we still don't see much games written in it. But believe me - this will change. It is already changing. And since Longhorn will in fact have .NET as its foundation... ;)

C# lets you do anything you can do in C++. ANYTHING. Yes, it even has pointers, if that's what you need! C# 2.0 has generics and other cool stuff. The language is constantly improving. And, with this even C++ programmers are bound to agree - it's is far far better for making GUI apps.

Well, that's about it...

But make no mistake - C++ is a standard... I mean, I really have nothing against it. But C# is better, IMO. At least, it's definetly better to start with (I started as a complete noob and now I can make some decent 2D games), while you may not even have to switch to something else. It teaches you how to program elegantly and in a modern way. Some may say that forcing the user to use OOP is bad. But I don't need anything else! OOP is perfect! And if you want to build relatevly complex apps and games (which are more than 100 lines of code) - you WILL use OOP regardless of the language. So why not use C#, where OOP is THE foundation? And again, it's really really... hmm... beautiful :) If you learn and program in C#, you will always remeber it for it's elegancy, while programming in other languages ;) It's the best choice you can make! AND! You are just starting, right? And since .NET is the future, start learning it now. Then you'll have no problems with getting a job.

As for the books, I started (as a noob) with Beginning Visual C#.NET published by Wrox Press. It is perfect for beginners, but... It's just for beginners, ok?
Then, I really totally recommend C# Objects: From Concept to Code published by Apress. It's an ingenious book about OOP in general and C#. It's a total must buy. Ah, what the heck, skip that Wrox book, and start with this. It teaches you C# and OOP. It's really really good. Then the only choice, even though it's a really great book, is Managed DirectX 9.0 Kickstart. Your ultimate guide to MDX.
With this books you'll be up and running in no time.

And I really don't understand the guys, who recommended Python... WHile it's a great language, it's great for writing scripts in your game, not the foundation... It has to be learned after you learn your main language, IMO.
Oh, and Java is just unsuitable for DirectX, so I am not discussing it here.

Oh... that's a long post :) I really do hope you'll learn C# because it's the best language in the world, to put it simple :) And it's an even better language if it's your first. Please pick C# :)

-Zod
I'd definetly say that a glass is half-empty!
If you're serious about GD, and wish to make it a profession in the future, take Computer Science at college. These GD colleges are extremely pointless, and most professionals that I talk to laugh at the idea of it. So since you're in GD, learn C/C++, and migrate over to DirectX.

I use C# all the time, but I wouldn't use it for GD at first. Reasoning is simple: You learn more in C/C++/DX. It's more low leveled, so once you move to something like C#, you know how it's working underneath, and you'll be more effective in your rich programs. Remember: It's about making the best performance possible. So that's why you should learn low level languages first so you can optomize your games in the future with C#. (C# can be slow if you're not a good programmer).

This topic is closed to new replies.

Advertisement