School Crisis

Started by R4L, Mon 18/09/2006 19:29:29

Previous topic - Next topic

R4L

I seem to be lost this year :-\

I want to pursue a career in either Graphic Design or Game Design, like programming, because I find it to be the most fantastic thing ever.

I understand that a bit of knowledge on BASIC, Assembly, Fortran, or C is required for such a job, but I don't know what courses to take.

Currently, in 10th grade (bear with me) I was given the option to take a Computer Applications class, so I took it. The class sucks. It teaches some basic knowledge about how computers began, and how hardware works, but we don't learn about Programming Languages, or anything related. Basically, we've been drawing graphs in Microsoft Word...

This is very annoying to me, but there is nothing else. My future courses are Physics, and another computer class, so I guess my question is this:

Am I trying to learn too early? Should I wait until college to learn such? Should I learn how to use such programs like DarkBASIC, BlitzBasic, or even Delphi? I am so confused right now, I feel embarrased that I can't even plan my own future.

scotch

You don't need to be able to code to do Graphic Design, and even Game Design if you want to be doing the graphical side, I'm doing a degree in Game Design and there's not a line of code involved if you don't want to do any. That said, if you want to be a game programmer then you will of course need to learn to program. It's never to early to learn! I certainly wouldn't wait until college. School can only help you become a skilled professional in these areas, you have to learn on your own time too.

Use whatever you like. Programming isn't about learning a language, but the concepts involved. When you know the major programming concepts well and have written some larger programs you'll be able to jump between new languages pretty easily. All I'd recommend is finding a programming system that you can make working games or other programs in fairly quickly and easily... there's no point toiling away learning C++ if you aren't getting anywhere, because you'll be bored and give up before you learn it.

I suppose for me the progression was basically:

Age 8: C64 BASIC
Age 11: Klik n Play
Age 13: Javascripting
Age 15: AGS and Game Maker
Age 17: Serious languages

but find whatever works for you.

At each stage of that I was making things I thought were neat at the time, and making progress, which is the main thing.

Meowster

There's no such thing as trying to learn 'too early'!

It's great that you're trying now.

I asked a programmer that I work with. He said that, when he started his course in Uni, he had no previous programming experience and had studied Maths and Physics in school. He didn't even know he wanted to work in the games industry, it was just sort of something that happened. So I wouldn't worry about having previous experience before you get into Uni.

But that said, we both think it's great that you're trying to learn. This can only be a good thing! I'm sure some other programmers here who are familiar with those programs you mentioned, can give you more advice.

But don't worry about 'not being able to plan your own future'. Nobody can :) you seem pretty sussed for a 10th grader though!

monkey0506

Dude. First off...you're in 10th grade. You have the whole rest of your life to figure out what it is you want to do with it.

And you shouldn't feel that you need a class to learn something. I've...o.0...been around a bit shorter (... :o...) than you have on these forums, but I've seen your posts, and I've seen that you've learned a lot about AGS. But let me ask you this. What school did you go to? How many hours a day did you attend class? Duh! You didn't go sit in some class room. You got on your computer, and if you couldn't figure something out yourself, you asked on the forums.

You can teach yourself virtually anything if you're willing to try. As far as programming languages I'd recommend C++. BASIC gets on my nerves to be honest. It grinds away at my logic centers and makes me want to scream. Anyway, C++ is a very powerful language. I got started with a book I checked out at my school library when I was in 11th grade. I actually ended up with the book checked out to me that whole year, and even over the summer. Then of course I just never took it back :o (not that I would recommend any such activities ;)).

Now I have two other books (which I've bought) and so I have plenty of resources. However, when I decided to get into Win32 programming (writing Windows applications using C++), I found myself completely lost. I found an online forum that seemed nice. Until I realized that all the so-called experts there really have no idea what they're talking about.

Well...with all that said...good luck with whatever you decide to do, but hey, have a little faith in yourself. And try not to grow up too quickly. ;)

[EDIT:]

Dammit scotch.

You know...I could never figure out how to use KnP. :o It confused the hell out of me...and there was no documentation either...

AGS is a serious language. Just it's not a stand-alone scripting language. :P

You too Yutzster. Why??? Why must everyone post before me!?!?! I was supposed to be first!!!! :'(

Evil

Depending on where you live, there might be other classes you can take for credit. Some schools, like mine, allow you to take a class at a local community college for credit. If you're lucky, those colleges will specialize in computers or programming.

Talk to your counselor. I know at my school, if you get a C or above, they pay for you to take the class.

Erenan

Eat CJ's brain.


Seriously, do what the others said. Study on your own. Take programming classes that become available to you. Practice. And don't be in too much of a hurry. You have time. It wasn't until I was halfway through my music degree at university that I realized what I really wanted to do was design and program computer games (and write the music for them, obviously). Up until that point, I was very, very convinced that music was the primary thing I wanted to do. Now, it's simply one of four things, and I could have used my time more productively education-wise than I did.
The Bunker

Las Naranjas

Further concurrance. If you enjoy programming so much with natural joy, teach yourself and don't let education crush that joy.
"I'm a moron" - LGM
http://sylpher.com/novomestro
Your resident Novocastrian.

Venus

Quote from: R4L on Mon 18/09/2006 19:29:29
Currently, in 10th grade (bear with me) I was given the option to take a Computer Applications class, so I took it. The class sucks. It teaches some basic knowledge about how computers began, and how hardware works, but we don't learn about Programming Languages, or anything related.

I started studying Computer Science a year ago and I wish I had had a class like yours to prepare me for it, because all we did was to learn about how computers began, how the hardware works and loads and loads of Maths. The only programming language related course that was available was voluntarily and started at 7am on Monday morning  :(. It was like they didn't really want you to take it. So depending on what you are going for, your class might turn out to be pretty useful.
Anyway, even though I have to admit that Computer Science is not really the right choice here in Germany if you wanna become a programmer, knowing a bit about the history of computers and some basic hardware knowledge can't hurt you.

But don't worry. I know a bunch of programmers that didn't have any knowledge about programming until they started to study it at a university and they still made it. If you wanna prepare, just do as the others suggested and study a bit on your own etc.

R4L

OK, thanks for all the wonderful comments. Im going to the library tomorrow to look up books on computers and programming. As for next year, I decided to take physics, and I am going to ask about another computer class. Still one thing bothers me that I just started to think about. Where are video games going? Seriously, I don't want to see an XBOX 3, or a PS4. I think what Nintendo is doing about their systems is great, because I would love to play games like Zelda where I can swing my arm, and swing the sword. I would rather want fun games, then amazing graphics.

Evil

Quote from: R4L on Tue 19/09/2006 01:27:30I would rather want fun games, then amazing graphics.

And that is why we are all here, my friend. We're what's left of this dying world.

Erenan

Personally, I want both.
The Bunker

HillBilly

I think it's better to focus on functional graphics, rather than good or bad.

R4L

Yes your right. Seeing games with a little more interaction in them besides the ol' punch this and do this puzzle and get this key type. Resident Evil 4 was my favorite console game, because it always caught me off guard with its context sensitive buttons and fatal moments (Krauser Knife fight.)

From what I have already studied off Google, C is the easiest language, according to what I read, and BASIC being behind it, even though the author says its a pain to work with. I was actually practicing in DarkBASIC last night, just using some print commands, storing strings and printing them out, storing values into varibles and printing them out, I even did some math with them  :)

I did learn more basics, like where your do loop should start, and functions to call before it, etc. Hopefully I can keep learning without being frustrated too much.

Kweepa

Quote from: Venus on Mon 18/09/2006 23:49:42
[...] because all we did was to learn about how computers began, how the hardware works and loads and loads of Maths. The only programming language related course that was available was voluntarily and started at 7am on Monday morningÃ,  :(. It was like they didn't really want you to take it.

That's probably because you don't need a class to learn how to program - you're doing CS so presumably you will learn all by yourself. Whereas that other stuff (electronics, maths) is very important but you don't realise it yet. I'd guess that later on they'll have some more formal programming classes, after you've got the basics. You really should know how a NAND gate works, how a processor works, how an OS works, how a compiler works etc.

I don't think at your age (R4L) there's any point in learning C instead of AGS scripting. AGS-s is more like C++ or java and so will teach you just as much if not more. C is easy to get started with, but it's evry unstructured and so difficult to do complicated things with, and harder to learn programming techniques from when looking at other people's source code.
Still waiting for Purity of the Surf II

R4L

Quote from: SteveMcCrea on Tue 19/09/2006 14:24:11
I don't think at your age (R4L) there's any point in learning C instead of AGS scripting. AGS-s is more like C++ or java and so will teach you just as much if not more. C is easy to get started with, but it's evry unstructured and so difficult to do complicated things with, and harder to learn programming techniques from when looking at other people's source code.

I agree with you. AGS has been very easy for me, and it really has taught me a lot of things. AGS has helped me to understand the very basics of C, like strings, varibles and other data types. I sorta have this off/on relationship with BASIC right now. My teacher reccomends me to go to a book store and buy a couple of books on C and programming, or to look on the internet. Working with DarkBASIC makes me feel alone, because all the hard coded things aren't done for you. I couldn't even see myself making a 2D game in it, let alone 3D, but it's something I should work on and learn.

Venus

Quote from: SteveMcCrea on Tue 19/09/2006 14:24:11
That's probably because you don't need a class to learn how to program - you're doing CS so presumably you will learn all by yourself. Whereas that other stuff (electronics, maths) is very important but you don't realise it yet. I'd guess that later on they'll have some more formal programming classes, after you've got the basics. You really should know how a NAND gate works, how a processor works, how an OS works, how a compiler works etc.

Oh, I do realise that that "other stuff" is important. That's exactly why I mentioned it, to point out that R4L's current class might be not as useless as he thought it would be on his way to become a programmer.

Radiant

Let's take a quick look at the languages you mention... BASIC is great for learning how to program, but it's not really suited for game programming. Neither is Fortran (which is rather outdated) or Delphi - and assembly used to be great for gaming but it's pretty much superseded since it's nearly impossible to do high complexity coding in assembly.

What you need is an object-oriented language, in particular C++, Java and/or C#. Note that AGS bears strong resemblance to C++. If you're serious about learning programming, you should probably stay away from klik-n-play kits.

Computer applications sounds like it's too low-level. I would advise taking a base course in C just to get the tricks down pat (e.g. pointers, basic memory stuff, call by value vs reference, etc). Not all languages use the fundamentals in a visible way, but it really helps to be familiar with them!

If you want to do any kind of 3-d graphics, taking a class in vector-based math is a must.

Take a class in artificial intelligence if available. It's pretty important to game design these days, and also covers such basics as pathfinding.

Do some class with a team-based lab, regardless of whether it's related to computers or not. Teamwork is trickier than most people realize.


However, most importantly, find a small project and complete it. Then another. This is the best way to hone your skills. I mean really small projects. Start with hangman in text mode (C is a good start, and compilers are free). Then see if you can do a checkers board in likewise text mode, to get the hang of arrays. Don't worry about the AI. Then pick some set of graphics routines you're comfortable with (I'd recommend OpenGL or SDL, they have wide internet support; or try it in AGS if you want) and see if you can code Tetris or Pacman. Add some nifty feature that no existing Tetris-clone has, and you're off to a good start. Just don't start with e.g. Castlevania or Sands of Time as your first game.

HTH!

R4L

You make it sound so easy! ;D

Just kidding, but the first game I have ever tried to make was Pac-Man, and I couldn't even do the basic stuff. I even tried it in AGS, and still no avail...

Maybe I should try it again, but after I finish my current project.

Radiant

It's easy in retrospect, and largely a matter of experience. Pac-man is tricky until you have certain basic ideas down (such as arrays, blitting, and simple agent systems). If you try to take that on all at once, it may look bewildering. If you go step-by-step, it's less so:

1) code a checkerboard (or othello, four-in-a-row, whatever) using a two-dimensional array, in textmode; let two players enter coordinates for their moves
2) find a way to store this board to a text file and read it back
3) look up Conway's Game of Life and code that, again in text mode; don't worry about performance
4) find out how to initialize DirectX (not that hard, plenty of examples on the web; or use SDL if you prefer) and display some randomly colored boxes
5) do Conway's again but this time use blitted graphics instead
6) read about mouse control and let the user toggle life cells by clicking on them
7) read about keyboard control and let the user move a little box around, and toggle cells by pressing space bar
8) ditch the "Life" bits and instead read an array from a text file that represents a maze
9) replace the little box by a smily face and make sure it can't move through walls; mark all squares with a dot until the smily crosses them
10) place some frownies in the maze that move in the direction of the smily if possible, random otherwise.

Ta dah, we have a pacman.


R4L

Well, I found a nice website, basically a huge tutorial for C++. I think I might give up on BASIC. Anyway, this is what I found:

http://www.cplusplus.com/doc/tutorial

It's a very nice tutorial, I just have to look into it more. I just need to know one thing. Is this a good website to learn from?

SMF spam blocked by CleanTalk