Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 4

Author Topic: Learning to Program  (Read 4060 times)

JoshuaFH

  • Bay Watcher
    • View Profile
Learning to Program
« on: February 09, 2010, 03:34:09 pm »

So I'm tired of letting my game ideas go to waste, and I've decided to learn how to code so that I might actually churn out something of value.

Current knowledge: Very little, just getting started. Downloaded Python and have read a bit of a tutorial.

Short term goal: To get a handle on programming.

Middle term goal: To create something small, a prototype or something.

Long term goal: To create a full game. Maybe something like in my idea, Mountaineer.

You could try http://www.flixel.org. I know a lot people with good experience. Even John at Wolfire recommends it!

First, who's John at Wolfire?

Second, it specifically says Flash games. Does that mean it would only work for Flash?

Personally, I like the idea.  I'm on my school's wireless right now, so I can't take very long, but if you're just looking to make a basic prototype of the game, your best bet might be something more like GameMaker.  Easier to pick up, and if you're not planning on trying to make anything big, it should serve your purpose just fine.

Now, I'm not very knowledgeable, and not really sure what would be best for my intentions. I don't want to shell out money to find out that the program I'm using isn't what I'm looking for.

Reference websites, so that I don't have to trawl through this thread to find them:

http://www.gamedev.net/

Python tutorials:

http://www.sthurlow.com/python/
http://inventwithpython.com/chapters/

C/C++ Websites:

http://www.learncpp.com/
http://www.cplusplus.com
« Last Edit: February 10, 2010, 01:31:04 pm by JoshuaFH »
Logged

3

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #1 on: February 09, 2010, 03:46:58 pm »

Two things:

First, the site you linked to is, yes, only useful if you're using Actionscript.

Second, Game Maker is essentially shareware - buying the "Pro" version just unlocks better functionality, but it's otherwise usable. Either way, just don't expect to do anything hideously complex with it.

If you've got no real knowledge of the theoretical processes behind creating a game, then you might be able to get something out of using Game Maker, but if you're looking into how to actually program as such, then it's unlikely you should bother.

I'll leave everything else to someone who can offer a better opinion on the subject.
Logged

JoshuaFH

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #2 on: February 09, 2010, 03:59:47 pm »

Thanks for the info, I need as much as I can get.
Logged

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: Learning to Program
« Reply #3 on: February 09, 2010, 04:03:54 pm »

Some small experience trying to make a game in python.  It's a great language, but it lacks any sort of built-in graphical features (aside from some OS-specific modules, I think).  You will probably need Pygame, which I'm not overly fond of.  Python is also, sadly, a little slow since its an interpreted language, but I don't think you should have any serious processing going on.  Certainly not for your first game.  I suggest choosing a standby like Pong and trying to redesign it, since that will give you a taste of everything - input, graphics, physics, AI.

Gamemaker would definitely be an easier start, and I've seen amazing things done with it.  The full version is probably what you want if you plan to make, say, a 3D game, or something with beautifully rendered particle effects, but for standard sprite drawing and collision detection, the free version is totally serviceable.  If you have absolutely never programmed before, at least check out Gamemaker.
Logged
EMPATHY - being able to feel other peoples' stuff.

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Learning to Program
« Reply #4 on: February 09, 2010, 04:43:46 pm »

Can you comprehend loops? Conditional stuff?

Both of those concepts are nearly universal, so if you understand it, it doesn't matter if you use

If a > c then
  ...
end if

or

if((q|d)&c)
{
...
}

or any other way of writing something.

What you do with it depends on you, how you write it depends on the language you use, but a loop is always a loop, a conditional statement is always a conditional statement. (Except in generally unused, poorly designed, or joke languages. Brainfuck: The loop is also the conditional, and it just looks like a load of +[+++.>++.>,.<<] garbage. But it is a joke language, for obvious reasons. C, javascript, basic, python, almost anything else, flow of control is consistant)
Logged
Eh?
Eh!

JoshuaFH

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #5 on: February 09, 2010, 04:46:16 pm »

Alright, I've downloaded gamemaker from this site:

http://www.yoyogames.com/gamemaker/try

and I'll give it a whirl to see how it works.

Anyway Qwerty, I'm not quite sure what you're trying to say.
Logged

3

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #6 on: February 09, 2010, 05:06:09 pm »

What he's trying to say is that the basics of programming are very often universal: In some languages, the only thing you'll have to learn when learning a new one is the syntax.
Logged

alway

  • Bay Watcher
  • 🏳️‍⚧️
    • View Profile
Re: Learning to Program
« Reply #7 on: February 09, 2010, 05:24:16 pm »

Here's a great site for all things relating to game development: http://www.gamedev.net/
Has pretty much everything.
Logged

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: Learning to Program
« Reply #8 on: February 09, 2010, 05:45:24 pm »

I can just say welcome aboard the devtrain and good luck.

My experience so far has been hitting my head against a wall repeatedly, but there's cracks and dents showing. Slowly. Don't get discouraged too fast, is what I'm saying.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Learning to Program
« Reply #9 on: February 09, 2010, 06:01:43 pm »

No matter where you start, you will begin to understand universal concepts that will help you learn other languages faster. The more languages you try, the faster you can learn a new one.

For example, I was able to learn enough perl to process files with regexps in a day, while I would expect others to take longer. However, there are probably countless people who could learn it in an hour, from years more experience that I have.

If the first programming language you learn takes a year before you really understand it, few others would take even half as long.
Logged
Eh?
Eh!

Aqizzar

  • Bay Watcher
  • There is no 'U'.
    • View Profile
Re: Learning to Program
« Reply #10 on: February 09, 2010, 06:06:15 pm »

No matter where you start, you will begin to understand universal concepts that will help you learn other languages faster. The more languages you try, the faster you can learn a new one.

I don't suppose you could give me some advice too?  I used to understand JAVA.  Not only did I get rusty, but JAVA itself changed in the years between when I learned it and today.  Now I don't know any language, and my attempts to learn C++ are met with the recurring problem that I simply don't know to teach myself (like programs are genetically supposed to apparently), and every tutorial I've read meanders all over the place, covering a lot of theory but never explaining the actual commands I want and need to learn.
Logged
And here is where my beef pops up like a looming awkward boner.
Please amplify your relaxed states.
Quote from: PTTG??
The ancients built these quote pyramids to forever store vast quantities of rage.

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: Learning to Program
« Reply #11 on: February 09, 2010, 06:14:56 pm »

Finding the right tutorial is hard. There's quite a few good ones out there, but you need to find one that matches your type of learning.
(Like these: http://www.google.nl/search?q=c%2B%2B+tutorials)

I just read Stroustrup's C++ Book. Front to back. Not something I would advise anyone, unless you've got sleeping problems.
Takes you a while, but there's a lot of stuff in there that's never even touched in any tutorial I've seen yet.

Also, this is good once you know a bit: http://www.parashift.com/c++-faq-lite/.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

Minstrel

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #12 on: February 09, 2010, 06:55:59 pm »

If you want to do Python, may I suggest http://inventwithpython.com/?

It specifically teaches you programming through making small games.

Also, the thing I've noticed about learning (through failed and successfull attempts) over the years is that there are three things you need to get somewhere: first, drive (which is actually learnable itself, who knew that); second, repetition ("tell me something I don't know" inorite?); third, models, as in: people who are already good, who are willing to share their knowledge.

A plan is also good, but I see you have that down. I'm also embarking on learning python (along with Spanish, which is also a language ;)), so if you ever need a study-buddy (or goal buddy or whatever), you know you have one on the forums.

Normandy

  • Bay Watcher
    • View Profile
Re: Learning to Program
« Reply #13 on: February 09, 2010, 06:58:22 pm »

Learning programming is not for the goal-oriented.
Logged

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Learning to Program
« Reply #14 on: February 09, 2010, 07:10:49 pm »

One of the reasons that you get faster as you progress is that eventually you stop searching for general tutorials, and start looking at specifics.

First, C++ tutorials
Then C++ graphics tutorials
After, C++ OpenGL (or maybe DirectX, or SDL, or...)
Then You start looking stuff up by specific functionality of the graphics system you are using.
Then individual function names.

As you work, you get to the point where you can skip the first one, then two, then more, learning just as much in far less time.

Unfortunately, the part that I haven't really gotten far into yet is knowing WHY one approach is better than another. And more languages is always nice. And learning neat tricks, and some new programming styles. And maybe even really low level stuff like assembler someday.

But above all, just try. Try to learn, and you will improve. Know what 3+5*6/(2+1) is? Then you already know something (The answer would be, hopefully, 13, or you are using a language that doesn't follow standard order of operations). Know how to manipulate the processor's cache behaviour so that your program runs faster? If so, you know more than me on that subject.
Logged
Eh?
Eh!
Pages: [1] 2 3 4