Jump to content

Programming


Supernova141

Recommended Posts

Yeah. Right here. I am actually in the process of programming my own engine at the moment with a bit of abstraction to hopefully answer one major problem in games.

First trick to learning game programming, is to not learn game programming at first.

There's a reason here however. And most universities that has a computer science degree makes it pretty difficult to get it by your second year. Game programming is actually incredibly difficult if you are doing it from the ground up. And if you have no decent programming experience or education, then forget about it.

Other wise if you are using something like unity or UDK, then it's just a matter of playing around. Still. Don't expect to make a quality game without some sort of actual programming experience. The ones who do manage it are like one out of thousands of users.

If you are not good at math, then I recommend you getting up to par with that. While you learn how to program basic things.

-Algebra is always needed.

-Trig is always needed.

-Calculus 1 parts of 2, and some of 3 is also needed badly.

-Defrential equations is needed if you plan on working with a shader system

Problem solving skills are always a must.

If you never have learned programming before. Then I recommend starting off with Java. While most schools start you with C and C++, (I went through it) apparently it's not a good idea for learning. Not sure why, as the language does make you or break you.

An understanding of Data Systems and object oriented programming. You never want to hard came things in games. You might never notice this, but all game objects are usually derived from similar objects. Sort of like a Phylum naming convention.

Example:

GAME

--Game Object

-----NPC

------------ ENEMY

-----------------------Goblin

-------------------------------- ELITE

-----Player

-----Item

-----------Restoration

---------------------------Potion

And for general optimizations... it helps to know how compilers work, as well as how a computer actually works.

IE: You might not know this... but a computer only knows how to add when doing math operations. When you tell it to multiply an object by so many times. It only adds that item so many times. That being said... it's the same speed to do 34+34+34+34, as 34*4. Both takes Four Cycles to do. However... it's faster to do a bit shift (one Cycle), than 34^2 which is equivalent to 34*34 (34 cycles). The reason is, all numbers are represented as bits. And bits count by the powers of 2. When you shift forward, you are increasing the number by a power of two.

Short of a School. There really isn't a good way to learn Game programming to a complete and working game.

For Unity, CGcookie works.

For UDK, I think Eat3D and 3Dbuzz has stuff for it.

And everything I mentioned here... is only scraping the portion of the icing off the cake. That's right... there's a lot more going on there :/.

My word for it; Under Graduate Computer Science Engineering Major. Minor in Math.

Link to comment
Share on other sites

Sadly... yes still.

Computer Science is reliant on math. And games are heavily reliant. You might get lucky and find libraries that has it all down for you, but you still need a basic understanding of all of it. For 2D. You can get away with Calculus 1 and algebra. But you will also still need a fair understanding of physics. Doesn't matter if the game includes jumping or not. You will still be moving at some point.

If you don't mind starting off simple. I recommend 3DBuzz's C++ tutorial. You need to pay for it. But they do teach you how to make a sprite game out of it later... but it's not the greatest. And you certainly won't be making any mario game out of it. They also skip a lot of incredibly important and advanced concepts that few books will cover, and most college classes will touch. However, it's so far the best video tutorial I have seen to date.

Link to comment
Share on other sites

Sadly... yes still.

Computer Science is reliant on math. And games are heavily reliant. You might get lucky and find libraries that has it all down for you, but you still need a basic understanding of all of it. For 2D. You can get away with Calculus 1 and algebra. But you will also still need a fair understanding of physics. Doesn't matter if the game includes jumping or not. You will still be moving at some point.

If you don't mind starting off simple. I recommend 3DBuzz's C++ tutorial. You need to pay for it. But they do teach you how to make a sprite game out of it later... but it's not the greatest. And you certainly won't be making any mario game out of it. They also skip a lot of incredibly important and advanced concepts that few books will cover, and most college classes will touch. However, it's so far the best video tutorial I have seen to date.

Hmm, in your last post you said starting off with java is better. Should I get java under my belt before looking into the 3DBuzz C++ tutorial?

Also, you recommended getting an under-grad in CSE with a minor in math, but I have serious issues with college-style scheduling and have been strongly considering self-teaching over the internet. What would be your thoughts on this?

Link to comment
Share on other sites

I said I am a CSE major with a minor. But yes. A college education would be better than self teaching any day. All a self teaching method would do for you, is teach you how to learn the language. Not necessarily programming. Trust me. I've been all over the internet looking for tutorials. And nothings come close to what I learned in just a semester. There just isn't an internet tutorial that can compare fully.

When you go into CS, there is more than just the language. The language is only a tool. Not knowledge. And all tutorials online do, is teach you the tool.

What I could never find is:

Algorithms; a major part of the education. This is Shaders, Collision Checks, Damage.

Data Structure; is another part of it. In terms of games, This is where objects, characters, audio, ect all comes into play as an interphase to your program.

Computation; is another major portion, which is where simulation lies in. So physics, jumping, moving, ect.

And more.

Best to look at what is all included in a computer science degree.

Now... learning your first Language? I never learned Java as my first... but sure? It could work. I started off with C++ and C.

Java is a little friendlier, as it hides some nasty things from you. But gives you little control.

C++ is not popular for it's speed. But it is actually the fastest language. It's popular for the amount of power it gives programmers. There are things you can do in C, that does not work in Java. Plus... most languages are based off of C anyways.

Link to comment
Share on other sites

I said I am a CSE major with a minor. But yes. A college education would be better than self teaching any day. All a self teaching method would do for you, is teach you how to learn the language. Not necessarily programming. Trust me. I've been all over the internet looking for tutorials. And nothings come close to what I learned in just a semester. There just isn't an internet tutorial that can compare fully.

When you go into CS, there is more than just the language. The language is only a tool. Not knowledge. And all tutorials online do, is teach you the tool.

What I could never find is:

Algorithms; a major part of the education. This is Shaders, Collision Checks, Damage.

Data Structure; is another part of it. In terms of games, This is where objects, characters, audio, ect all comes into play as an interphase to your program.

Computation; is another major portion, which is where simulation lies in. So physics, jumping, moving, ect.

And more.

Best to look at what is all included in a computer science degree.

Now... learning your first Language? I never learned Java as my first... but sure? It could work. I started off with C++ and C.

Java is a little friendlier, as it hides some nasty things from you. But gives you little control.

C++ is not popular for it's speed. But it is actually the fastest language. It's popular for the amount of power it gives programmers. There are things you can do in C, that does not work in Java. Plus... most languages are based off of C anyways.

My main reservation with college is that the time in between semesters is quite large, you don't feel that it's slowed you down at all? I'm very serious about this and I want to be able to learn as fast as my dedication allows.

What about a trade school/programming boot camp? I know a lot of them are for-profit and not always the highest caliber, but I'm sure there must be at least a few good ones.

Link to comment
Share on other sites

As for it feeling slow? Not really. You can actually speed it up by going into a community college if they offer the classes.

Trade Schools? If you mean like full-sail university where it's souly based on Game or Graphics design, it might not be the best idea. But don't take my word for it.

Link to comment
Share on other sites

As for it feeling slow? Not really. You can actually speed it up by going into a community college if they offer the classes.

Trade Schools? If you mean like full-sail university where it's souly based on Game or Graphics design, it might not be the best idea. But don't take my word for it.

Haha, community college is my only option, I never got into a good school -__-

And yes, I hear the name "Full Sail" come up quite often. Any particular reason you think it would be a bad idea? Of course I'm trying to get advice from as many sources as possible, but I do value your input!

Link to comment
Share on other sites

Back in high school, I wanted to go there. But I read the reviews for the place from students... and they've been less than stellar.

Apparently, Programmers are screwed, and limited to scripting rather than actual programming which is what Studio's want.

Instead of teaching the full knowledge of Computer Science, you instead learn what you need to make games. Which, and this is said by a lot of game developers, is not a good idea. According to them, a game programming degree teach paradigms, and the most commonly used libraries. When the reality is that the game industry always has to try and break barriers in software design. This means, adaptability, and understanding broad concepts.

Scripters are usually the programmers that made the scripting language.

All these computers that are top of the line work stations, are usually occupied for long periods of time by other students playing world of war craft.

Concept artist naturally have no point in going into a full fledge college just for that.

Graphics Design is better suited for self teach, rather than college.

Virtually no reason for the school.

Now? I am not sure if I actually want to program games. I like designing the engine, and other technical stuff behind them though. And happy at UNT.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...