Learning Programming on Your Own

projoking

Molten Core Raider
32
50
Tuco had mentioned in another thread that the OP should start a thread devoted to learning programming on your own. I am just going to go ahead and make one because I am in a similar boat. I plan on learning programming with the end goal of doing a start-up indie game company. If things go well I would eventually want to code our own website etc... so I would need to learn HTML5?

I plan on starting with C++ for no other reason then that is what my brother is learning and we are going to be the programmers in the company. I figured it would be helpful to be on the same page as far as languages go. That being said, I am still very new to coding and any tips or recommendations would be appreciated.

I don't want this thread to be about just me though. Anyone who is learning code on their own feel free to post questions and comments here. All the best to you venture programmers out there.
 

xrg

Golden Squire
180
59
To make your own website you need to learn HTML and CSS at a minimum (being relatively familiar with an image editor would be useful as well). Anything beyond a static webpage, it's also good to know Javascript and at least one server-side language (I believe php is still the most popular).

HTML and CSS you can probably learn in a single weekend, they're really simple. Javascript and PHP are a bit more involved to learn. I'd watch videos atCSS-Tricks, and maybe run through the web dev stuff onCodecademy.
 

Pontius_sl

shitlord
106
0
im doing a bachelor in IT, try this out for giggles. It's pretty good for a newbiehttp://www.codecademy.com

and yeah, html and css is a must, if you want functionality beyond just a website, you'll need to read up on databases,php, mysql etc.
 

McCheese

SW: Sean, CW: Crone, GW: Wizardhawk
6,888
4,245
The only thing I'd say to the OP and anyone else with similar aspirations is to keep your expectations realistic. Saying "I'm going to learn to program to start an indie game company" is like saying you're going to learn Russian to read War and Peace, or you're going to learn piano to play Rachmaninoff. All 3 are technically possible, but it will take a pretty long time and it's easy to get disappointed by the slow progress and give up if you don't have some intermediate, short-term goals.

I tried starting to learn programming with C++ and it was terribly discouraging cause I couldn't really do much exciting stuff. Eventually I switched over to Python; I still learned the basic ideas of programming but with Pygame I was able to actually put stuff on the screen and create some graphical games as I learned, which made the process a hell of a lot more rewarding.
 

projoking

Molten Core Raider
32
50
Thanks for the links guys. They all look very promising. I didn't know HTML was so easy, that is encouraging.

Thanks for the advice McCheese. I guess I could have phrased that differently. I understand there is a lot to do before you start cranking out games. This is why I am setting aside the next year or so to learn about code. I plan on doing little projects and probably develop some apps aside from gaming. Simple stuff like an address book and work my way up from there.
 

xrg

Golden Squire
180
59
I think the more common thing people underestimate with game programming is the math involved. Even relatively simplistic games are often difficult to pull off if you have mediocre math skills. A simple shooter such as Gradius would be difficult to make if you don't know what Sin and Cos are for example.

So if your Math skeelz are rusty make sure you boost them too. At least for game dev. Web dev doesn't usually require much beyond maybe a little Algebra.
 

Kovaks

Mr. Poopybutthole
2,354
3,142
Agree on the math, most of my cs degree was advanced math. For html, CSS and js there are also alot of frameworks out there that you can get that are ready to go and then you can just modify them. I suggest giving bootstrap a try to start,http://twitter.github.com/bootstrap/. You can download their CSS and js and they have really good tutorials that you can reference or copy as you learn. Lots of good references online for html, for js i really like the lost manual, focuses on jQuery which is alot easier than trying to do strait js. Best tip i can think of is programming is a language like any other new foreign language you will need to use it and practice constantly or you forget it.
 

Adebisi

Clump of Cells
<Silver Donator>
27,674
32,707
Would XNA be a fun place to start for game development? I'm not trying to become a master programmer, I just like to tinker, and see where that takes me.

Also, anyone ever play around with Arduino? It seems like a fun way to learn electronics and programming at the same time
smile.png


smile.png
 

Noodleface

A Mod Real Quick
37,961
14,508
You basically want to go from nothing to indie game company really quickly, that's what I'm reading anyways.

A lot of people don't understand the complexities involved in making a game, even a short text-adventure game is extremely time consuming and requires some pretty in-depth knowledge (classes, objects, inheritance, etc). Throwing graphics on top of that is even harder.

I wish you luck, but as others have mentioned, you might want to set your goals a little lower in the beginning. Even an address book can be a pain in the ass for a newbie.
 

T-rex_sl

shitlord
28
0
Over the past couple years I have been learning Perl on my own, as well as a few other things. I used to use at work for data processing (mostly to simplify tasks etc) but I recently accepted a new job where I won't be using it anymore. The nice thing about this new job is that I will be working 4 days on/4 days off so I will have an exceptional amount of free time. I was wondering how I could get involved in a project where I can continue to use perl on my off days. Also, what is the possibility of coding on my off days for some money, if ever get good enough?
 
349
1
That codeacademy looks kinda fun. I guess you can compare your progress with friends. Not sure how to do it yet but my username is the same as it is here (Traak) if you want to add me.
 

projoking

Molten Core Raider
32
50
Okay, so I got my learning materials in order. Does anyone have any recommendations on C++ compilers or are they all the same?
 

Tuco

I got Tuco'd!
<Gold Donor>
45,395
73,466
Tuco's guide to learning virtually any creative hobby, including programming:
1. Figure out what object you actually want to make and have. Not what you want to learn, not what you want to be, but what object you want to have.
2. Determine an smaller object that is related but has 1-5% of the scope of what you want to make.
3. Figure out what skills and tools you need to make that smaller object.
4. Ask an expert on those skills and tools what the best way to get started on learning them to create that small object.
5. Once you finish it you'll be much better equipped to move forward.

Game Programming Example:
1. Figure out a reasonable game , let's say you want to make a hack and slash adventure game and you want to write the engine on your own.
2. Remake pong.
3. Choose your libraries (xna, opengl whatever)
4. Make a thread on learning XNA.
5. ?? profit.
 

Noodleface

A Mod Real Quick
37,961
14,508
I would almost say rather than remake pong, make a text adventure game (Zork, etc). You will learn a lot about programming in the process as well as get a good idea about gaming structures.
 

Adebisi

Clump of Cells
<Silver Donator>
27,674
32,707
END OF THE WORLD TODAY. NO TIME FOR PUSSY BULLSHIT.

1. "I want to make a Skyrim"
2. MAKES A SKYRIM

jk - I like having a small goal to motivate my learning.
 

xrg

Golden Squire
180
59
I totally agree with starting something small at first. Starting with something big right out the gate, you're more likely to burn yourself out before you have anything of substance. With something small you can usually at least get a functional prototype up pretty quickly and then it's kind of just tweaking details. As you get better more complex projects will be easier to get to that initial prototype phase. Those Ludam Dare things are probably good practice, but I've never tried to participate in one.
 

Buttons_sl

shitlord
5
0
I have referred a couple friends on the "learn to program" kick to Zed Shaw'sLearn Code the Hard Wayseries. The original book is for Python, but others have built out versions for other languages. The books help get a very basic environment set up and then introduce basic concepts like data structures, iteration, etc while working up to small projects.

These books are great for the beginning programmer because they strip away all the other topics like choice of text editor, extended environments, and various other cargo cult distractions to focus on programming fundamentals that will apply across languages.

If you are interested in web dev I'd suggest either theRubyorPython(Ruby being my own bias). If you are more interested in game development check out theversion for the C languageto get started with compiled languages.