Making video games and learning programming
Ok so i want to learn programming and making video games and i want to teach myself but I dont know where to start, I was looking for game creation software and found a bunch of sites but I don't want to download anything that's not safe so I'm looking for some help. Any starter websites for new programmers or video game designers or Modding software?
game creation software is very limiting. often forcing you into making something your less than happy with... best off just start to learn a language and join a dev forum.
c++ is probably the most useful but will take a few years to get your head around it properly (yes its quite a commitment of time and effort along with a lot of frustration).
i have learned 3 languages over the years... ms basic (or atari stephenson basic). amos(on the amiga), then visual basic, and im entry level on assembler... none of which are relevant today. although they did allow me to write cheats for any game i chose, my own art package, and database software for my local archeology dept.
i wish i had learned c++ when i was younger but couldnt get my hands on the relevant tutorials... today you have the web which means theres much more in the way of learning resorces than there was in the 80's and 90's... so thats where i would start... C++...
if your not absolutely sure you have the brain for c++ then visual basic is also a good starting point although the language itself can be a little on the pedantic side...
i found it frustrating because of my dyslexia but it did help with some aspects of it. in that i learned to stop swapping letters although i still occasionally do it, its nowhere near as bad as it was...
anyways enough of my ramblings...
C++ and visual basic are in my opinion the 2 most usefull followed by java.
I'm pretty sure most modern game engines are coded in C++ (as HEXiT was mentioning). If I were you, I would just start there and dig in. Even if you do plan on possibly taking college courses in programming some day, learning everything you possibly can before you even get there will only put you that much farther ahead and make learning a whole lot easier.
I'm taking a C# course right now, and I wish I would have done more leg work before the class ever started, because ya know...it's hard as hell....maybe I'm just not that smart, though. There are tons of resources on the web - CProgramming.com has lots of tutorials for C++.
It is possible to teach yourself this stuff now with so much free knowledge available. I have a friend who teaches some basic video game design courses at a local college. He is totally self-taught in 5 different coding languages and has fierce modeling skills. As long as you have the drive and the time, you can learn to do anything.
When you say you want to learn how to design games....that is such a broad range. I assume you want to learn everything....that means spending several years gaining profound knowledge of Photoshop and 3DSMax for designing textures and models; learning to use audio editing software, and digging deep into a game engine SDK.
I would love to do it, myself....I find it all fascinating, but I know I'll never have enough to time to really do any of it.
As far as free engine SDK's, there are several available. You can download CryEngine3 SDK for free and it doesn't get much better than that. You can design FPS, RPG, and even RTS (as proven by the community at CryDev.com) on it, so you're not going to be limited to any particular gameplay platform. There are two versions - the first being aimed at developers (doesn't really include many models or textures), and the ModSDK, which is the same thing, but containing all of the Crysis2 assets.
Here is a link to a place that contains both.....oh, and the community here has some serious skills, so you might join and read a bunch.
Good luck on your endeavor!
+1 to Stringjam
I am in the same boat as you OP. I just started teaching myself 3d modelling and game design using CryENGINE 3. As Stringjam stated, it really doesn't get much better than CryENGINE 3. There are TONS of tutorials for using it, CryDev.com has a massive base of experienced modders/game designers that are extremely helpful, and it is fairly simple to start and play around with.
Hey, I happened to stumble on your Thread. I'm a programmer and I've worked in the video game industry. There's just a few rules I want to make clear before I give you more of an insight on this...
1 - Playing videogames and programming videogames are completely two different things!!!
2 - Programming isn't what people might picture...
I’ll divide a game studio in 3 levels (even though there are a lot more).
Programmers: They program the engine but don't design the game itself. They’re usually really good at Math and problem solving, not creating beautiful landscapes and designing characters!
Artists: They draw characters, levels, environment, etc. These guys create the feel of the game. They put down on paper what the game should look like.
Designers: Their task is to familiarize themselves with the engine (to master the engine) and create the characters, levels, etc. They’re main task is to put whatever the artists drew on paper into the game (using the engine).
Everyone else in the studio more-less make sure there are good translations between all 3 groups. Make sense?
I’ve posted a more elaborate answer in this forum (if you’re interested).
All that said, I’d recommend your start with a mod tool for a specific game. I’m currently using Skyrim’s Mod tool (for the game Skyrim). Bethesda provided video tutorials for those interested in learning how to mod the game. This might be an excellent opportunity for you (if you have/like the game: Skyrim).
If you’re not into Skyrim, then there’s Valve’s Source Engine which also provides a Mod Tool. The CryEngine (for the Crysis games) were very well done as well. Each mod tool has its own forum where you can get assistance.
Hope this helps.
One thing that I'd like to mention, if you've never had any experience with coding/computer language. Don't go straight for C++, while it's a good thing to learn with amazing capabilities, it's just too hard and broad to pick up as a first thing.
Start with some scripting language like lua or maybe visual basic (or even wiki markup or html is more applicable), learn some concepts and get a feel for what coding does, different parts to it and common practices. Then look to learn C++. because again, without any background you will be lost as to what the hell you're learning and how all of it interacts with each other to give you any type of result.
I remember when I started out computer science in HS they gave us some scripting to mspaint-like program to learn at first, next year was visual basic and last two was java. Looking back the first thing they had us learn was very simplistic and sad looking as compared to java, but it was a good stepping stone.
BTW........if you want to get into CryEngine3, you might check into learning C#.