Bay 12 Games Forum
Finally... => Creative Projects => Topic started by: JoshuaFH 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 (http://www.bay12games.com/forum/index.php?topic=49260.msg1022100;topicseen#new).
You could try http://www.flixel.org (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
-
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.
-
Thanks for the info, I need as much as I can get.
-
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.
-
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)
-
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.
-
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.
-
Here's a great site for all things relating to game development: http://www.gamedev.net/
Has pretty much everything.
-
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.
-
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.
-
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.
-
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/.
-
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.
-
Learning programming is not for the goal-oriented.
-
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.
-
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.
What are you working on Siquo?
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.
Wow Minstrel, thanks! I've put this into my favorite, for later viewing.
-
I'm here if you ever have a doubt and don't know where to ask... You've got my live account.
I might guide you in the right direction, who knows... and I always learn something from it.
If you ever want to learn C++ the link in my sig is the best I've encountered, so far.
Here's a great site for all things relating to game development: http://www.gamedev.net/
Has pretty much everything.
Yep... That's the holy site. :P
-
I'd say go for C# and directx 9 or 10, or use Java.
I'm trying to learn C# at the moment. It's pretty easy, especially when using the ms visual studio.
-
C++ is kinda hard. Because you can do almost anything, there are zillions of ways to screw up, as well.
And compiling with external libraries is a drag.
Currently I'm working on A Game With Everything. Combine haven&hearth with dwarf fortress with toribash and spore. With my schedule, it will be done in about 2030. Right now I'm still working on the terrain and render engine.
-
Good luck to you OP!
I've got a points/tips to contribute. Lots of people say that the first language you learn is the hardest, which I tend to agree with. Once you've got a handle on one, then it's easier to understand others because there are often similarities between them and you'll know some of the jargon too which helps.
I think you should start learning C, then move on to C++ when you feel ready. You could also start with C++ right away if you wanted. I believe there are several reasons for this. Firstly, if you want to program games then there's loads of code written by other people in C/C++ which you can make use of (the excellent Allegro library comes to mind - not that I'd recommend starting with that on day one), which can make the process easier. It's widely used in all sorts of applications, so there's tons of information & examples available online and plenty of books too, which can help you along. More than python I think. C++ uses a lot of things from C, so that eases the learning curve somewhat when moving between them. I suppose it could be argued that C/C++ is in some ways harder then other languages e.g. python, but it's not that bad! Chances are that if you get into game programming you'll learn it at some point anyway, so why wait?
I highly recommend the book Accelerated C++ (see http://www.acceleratedcpp.com/) as a starting point. It's really good. It teaches you what some consider the 'advanced' parts of C++ (e.g. ST, iterators etc) right from page one and it's very accessible, non-intimidating, simple to understand and provides tons of easy examples. It's not a huge doorstop of a book either which is a bonus.
I'd suggest not using MS Visual C++ as your first IDE. It's a good IDE for sure, but not all that easy for beginners. Skip Dev-C++ too, despite any recommendations you may see elsewhere. It's not been updated since 2005 and it's showing its age now. The compiler it comes with is seriously outdated too. I'd recommend Code::Blocks. It's free, still being updated and newbie friendly. I think it comes bundled with a compiler, but if it doesn't, search google for MinGW, assuming you're using MS Windows. If you get stuck or can't set it up, send me a message and I'll help you out.
A list of good online C/C++ sites would include http://www.cplusplus.com (my favorite reference, it's got tutorials too).
-
Alright, I'll look at C/C++. Do I need a special program or something? One site said I could write it in Notepad?
-
Learning programming is not for the goal-oriented.
This is the best summation of learning programming I have ever, ever seen.
I am stealing that line.
I'm always amazed at the people recommending that newbies start with languages that don't even have a consistent library from platform to platform. Jesus wept, just because we were tortured with C and C++ to begin with doesn't mean that other people have to be or should be.
OP: For serious, start with something that's actually a sane programming language. Start simple, where the "hard parts" are abstracted away by the system, and then move on to languages where you handle what is abstracted in other languages when you need to. By the time you need that power and flexibility, you will be able to learn when it is appropriate to use it and you will be in a much better place for actually learning those languages. Python is a great choice for beginners. C# is also a great choice. C/C++? Not so much. Learn how to program, then learn how to pervert what you know to work in C++.
EDIT: Incidentially, the post below me shows why you should avoid GCC and the MinGW ecosystem, if you insist on bashing your face off the wall that is C/C++. Just go effing get Visual C++ Express and concentrate on learning to program instead of jerking off about setting up your tools. Use Microsoft's tools on Windows, use GNU's on Unix. This isn't that hard of a concept, and it saves you a hell of a lot of time.
Siquo, thank you for demonstrating my point very admirably. Don't get me wrong: the GCC tools are usable (if poor) if you have nothing better, and on most Linux distributions they come with sane enough default settings that they're quite good, but on Windows, they're pretty damned poor and even a novice has better things to do than screw around with that sort of thing. I'm kind of wondering if the advice below is a parody: I mean, geez. "Manually update autoconf." What is this, 1994? You haven't even had to do that on Linux for a decade. And cygwin...man, the hits just keep on coming, don't they?
-
I'd recommend not to start with C++. C++ is a lot harder, and you'll spend more time on pedantic semantics than actually getting something done.
If you do go for it, get code::blocks, it's a decent, free and still updated IDE. MinGW with g++ should be included. You can use cygwin for library-compiling, although I use msys myself. If you do use msys, make sure to install all 3 necessary components, and then manually update autoconf and some other utilities for it to work. Keep short directorynames for your libraries without spaces, and try to use global variables in code::blocks for easier linking and including libraries, which you of course need to set up per release or debug build version. Also don't forget to set the libflags for the g++ compiler, and then there's the DLL's that need to be in the $PATH, and be careful about throwing them in sys32, you might forget about them when you need them the most. If you're ready for the complicated stuff, just ask away :)
Really, I'd recommend Python for a starter-language ;)
-
I guess it would be best to start simple, seeing as how it's reiterated that once you learn one, picking up another would be much easier.
-
I'm kind of wondering if the advice below is a parody: I mean, geez. "Manually update autoconf." What is this, 1994? You haven't even had to do that on Linux for a decade. And cygwin...man, the hits just keep on coming, don't they?
It's a real summary of the hell I've been through. Jerking off is not the term I would use, smashing your head against an unsmoothed wall is less painful. Persistance is a virtue. Did I even mention that the mingw site was hijacked for a while and there is no documentation about setting up msys anywhere else? Or the almost complete lack of documentation of openGL 3.2? Or needing unstable libraries right out of the svn?
-
That's the kind of thing that pisses me off about learning to program. You have to be a programming literate IT guy to learn how to program in the first place.
So, do you gurus have any advice for a goal-oriented person who wants to program? I'd like to think my goals are very achievable, I've just never found a goal-oriented tutorial or command dictionary to make them happen. Or for that matter, a program language good for beginners, since apparently every language is either an exercise in package wrangling frustration, or Python which doesn't actually run on it's own.
-
OP don't listen to these guys trying to scare you off. Loads of people learn C or C++ as a first language and do just fine, really. I guess it has got a steeper learning curve than python, but literally anybody can learn it if they put the effort in. Goodness, even I can do stuff with it, and I'm a complete shambles. I can't remember my own age without counting up from the year I was born. On my fingers. I frequently try to put my shoes on the wrong feet. I can't work out if "k" comes before "l" in the alphabet without singing the song in my head.
Setting up Code::Blocks for newbies in 8 steps:-
1) Go to http://www.codeblocks.org/downloads/5
2) Download the file codeblocks-8.02mingw-setup.exe
3) Run it
4) Click the Code::Blocks icon on your desktop. Twice. Quickly.
5) Press File->New project
6) Select Win32 GUI project. Accept all the defaults. Save it where you like.
7) Press F9
8) Bask in your glorious victory as an example program is compiled and run for you
So which unstable libraries did you need to download? How did the lack of adequate openGL3.2 documentation hinder you? Did evil GCC 'splode your computer? Report back!
-
SDL 1.3 which needed separate compiling using msys. OpenGL3.2 documentation... well, just go to the site, go to the 3.2 wiki, and click a few links. I found 5 working pages, so far. GCC didn't splode and is working fine, but I never said it was bad. Right now I've run into a wall setting up the shadercompiler for the videocard, but decided to skip that step until later and work on something else first.
You know, sometimes when you program something big, you code and code and code and then compile and run and it works right away? C++ never did that to me ;)
-
C++ isn't too bad, I learned most of it in 8th grade. The trick is finding a good book which fits your learning style. And believe me when I say that part is harder than it sounds. Optimally, you could take courses on the language in a college/community college.
As for being goal oriented with learning programming: Don't. Even the most astute proffessional game developers will end up delaying releases by extraordinarily long periods of time; if you aren't in it because you enjoy the process itself, it is going to be less fun than WoW gold farming. Especially when you begin the inevitable bughunting phase of development.
-
As for being goal oriented with learning programming: Don't. Even the most astute proffessional game developers will end up delaying releases by extraordinarily long periods of time; if you aren't in it because you enjoy the process itself, it is going to be less fun than WoW gold farming. Especially when you begin the inevitable bughunting phase of development.
What do you mean by this?
-
Probably to don't expect to actually create something that's in your head right now if you're still in the learning phase within a reasonable amount of time. It's easy to get disappointed if you don't get results. If you don't expect results but enjoy the road more than the destination, you have a chance you'll get somewhere ;)
-
Depending on what you try to program, the impetus to add in silly or extravagant features is overwhelming. I tried (technically still am trying) to program a RL in python, and spent most of my time playing around with a random cave generator and a field-of-view algorithm. I also enjoy simulation programming, so many of those become "what do I want to try to make this do next." Four-thousand tweaks later, the program is unrecognizable. Here's a very important but difficult to practice tip: Make lots and lots of backups, because there is always a 50% chance that what you are trying to fix or redesign is actually going to turn out worse than it was before.
Since you appear to have no past experience programming, I still vote Python. Playing around in IDLE (the command prompt-esque code editor and executor) is a good way to get a handle of different functions. The biggest problem with Python is when you look at code written by a really crafty bastard who managed to fit his logic into just a few loops - it's impressive and something to aspire to, but it's not a good learning tool.
Even if you ultimately discard Python, it's a great place to start.
-
Learning python here.
I should just update the forgotten thread eventually.
But yeah it is in fact a lot easier to learn than C++ (I said easier not easy :P)
-
I'm in the same boat.
I've programmed on and off for years, extremely basic stuff (In BASIC!) and vb back in the day. I took a course on C++ a long time ago.
I'm picking it back up again. To say programming isn't about goal-orientating is absolutely correct but a hindrance. When you first start programming, you need goals or to write mini-programs to actually learn about the development process and make you happy when you achieve something. No one builds their killer app/game on the first try, and often it takes years to have a decent one. You have to enjoy programming to get deep into game development.
Provided you understand basics like DF modding and those sorts of commands, outside modding/scripting for other games, which helps: you should learn the absolute basics of programming first before tackling game development.
Invest in a book, class, or read online lessons. By my experience I will recommend C++. I know it's difficult and not the path I took. But if you understand C++, which is essentially the industry standard when it comes to such things, tackling python will be a piece of cake.
Though, I have heard good things about using the libtcod library.
Anyhow, I'm still playing around with things, we'll see if it goes anywhere.
-
You know what we need? A programming subforum.
-
You know what we need? A programming subforum.
What? So "Creative" isn't "Programming" in Dwarfish?
-
Right now it falls under creative projects and to be honest it appears most neckbeards appear wary of posting their own code up to the scrutiny of the internet.
Even the helpful ASCII: Terror dungeon tutorial had people complaining about how wasteful his code was and the Roguelike development thread has a guy working on a SDL tutorial library while people are saying SDL is bloat.
-
Right now it falls under creative projects and to be honest it appears most neckbeards appear wary of posting their own code up to the scrutiny of the internet.
Even the helpful ASCII: Terror dungeon tutorial had people complaining about how wasteful his code was and the Roguelike development thread has a guy working on a SDL tutorial library while people are saying SDL is bloat.
Well part of becoming a creative worker is learning how to shield yourself from baseless criticism and extracting only what you need from the warranted one. It takes loads of respect for yourself, your work and your critics to pull that off, but I believe it's one of the most rewarding things possible - to be able to create in an environment you created to both nurture and challenge you.
-
Learning to program will take you about 5 to 10 years, depending on the amount of studying you do. Seriously, it is going to take a long time. It is not as simple as learning how to tell the computer to do something, you will also need extensive problem solving skills, the ability to determine which algorithm to use (and the ability to create algorithms and analyze them) and knowledge of a myriad of things I cannot possibly enumerate.
Also, before you have learned quite a bit, you cannot tell if a problem is simple or easy to solve. There are quite a lot of problems that will suddenly appear, for example problems with algorithm efficiency.
If you want to start, start by learning Python or C#. Those are relatively easy and modern. Do not even think about C++. C++ has more concepts than any other language and muddles them into one big steaming mess, and because there are lots of bad side effects that will suddenly crop up, be prepared to investigate mysterious errors. C would be possible, but it is quite harsh and the syntax is anything but nice.
Should you have learned a nice part of Python or C#, you can continue with Haskell (or ML or Lisp) and Erlang and JavaScript (or something equivalent; I do not know which languages will have the nice and shiny concepts in 5 years). Each of these will teach you something important. You can now continue with C, knowing all the concepts you have picked up before your programs will make sense, be beautiful and be fast.
Then you can work on algorithms and data structures. If you have got the guts to do it, read Knuth. Get better. And someday, make your game.
This is the path I should have taken. I started with BASIC, moved onto C/C++ (bad idea), onto various scripting languages (Perl, Ruby, PHP), onto functional languages (Haskell, Erlang). And now I am back at C and starting to work on my project.
-
florian. This is the first time i've heard of Erlang or Haskell. Also, if I may ask, what's Knuth?
But onto something else that's relevant: 5 to 10 years? I understand that programming language isn't very intuitive for someone that's not used to thinking like this, but it seems a bit extreme.
-
5-10 assumes reaching "mastery" of a particular language, but you don't have to be a programming master to make a fun game ;)
Toady has been doing this for years, since he was a kid. He by no means writes perfect code, and yet we have this pretty good game. heh.
The important thing to note is that programming is a process - if you keep at it eventually you'll find yourself making something amazing. It may seem daunting now, but no one was born with the ability; they enjoyed doing it, so they kept at it and getting better.
-
He doesn't want to program for a living, not yet at least... let him enjoy the ride instead of throwing all that scary prospects at his feet...
Josh... Pick a language that suits you... How will you know? If you manage to do what you intend to do without having to go crazy with a million runarounds...
Just learn the basics and try doing basic stuff... With each new concept you learn, try to apply to something you'd find interesting...
Don't worry about games for a while unless they're really simple like guessing a number or a simple memory game, or a math game, etc...
EDIT: I find that it gets even more daunting as you try to do more complex things or write better code (or really understand what is going on inside the computer)... :P
-
Yeah, for another example, look at Aurora:
It's an amazing game of incredible depth, but under the hood it's apparently a bit of a mess, in visual basic! (VB means I understand how the program works)
It was programmed in Steve's spare time to facilitate his writing.
-
florian. This is the first time i've heard of Erlang or Haskell. Also, if I may ask, what's Knuth?
But onto something else that's relevant: 5 to 10 years? I understand that programming language isn't very intuitive for someone that's not used to thinking like this, but it seems a bit extreme.
Donald Knuth wrote The Art of Computer Programming (http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming), one of the most important works about programming. Currently there are 4 volumes which contain lots of good information and will probably open your eyes, if you can understand them. It is a major challenge/achievement to read the books. You can be a competent programmer without reading them, but they will certainly help.
The 5 to 10 years estimate is based on this (http://norvig.com/21-days.html) and on my own experience. You can write programs that will work after just a few months of learning, but you will not know about the intricate details.
Both Haskell and Erlang are a joy to use, but they require some serious learning—especially Haskell—and will frustrate you to no end. Haskell will show you functional programming, lazy evaluation and monads. Erlang will show you shared-nothing concurrency, immutability and message-passing.
-
SDL 1.3 which needed separate compiling using msys. OpenGL3.2 documentation... well, just go to the site, go to the 3.2 wiki, and click a few links. I found 5 working pages, so far. GCC didn't splode and is working fine, but I never said it was bad. Right now I've run into a wall setting up the shadercompiler for the videocard, but decided to skip that step until later and work on something else first.
You know, sometimes when you program something big, you code and code and code and then compile and run and it works right away? C++ never did that to me ;)
I suppose so. I'm being a bit cheeky really suggesting C a cakewalk, because it's obviously not when you're doing something involved like you describe. As a beginner, getting "Hello, World", your alphabetical sorting program (or whatever) running can't be too much more difficult in C than in python/basic. The OP isn't going to be worrying about compiling SDL or anything for a while I wouldn't think. By the time the OP has got enough experience to start writing games, I'm sure he/she will have a better idea on where to start with things like that.
Good luck with the OpenGL =)
-
In my opinion, the most powerful aspect of C/C++ is that they are both much easier than any form of assembly language or lower, and have the flexibility to do anything.
Maybe not the best language for a beginner, but later on, it isn't restricted to having an interpreter(many languages, though some can compile to an independant .exe), most OSs have some form of it, although getting it to run on a new platform may take alot of work(Write for the platform you have. Consider other systems later, once you understand what you are doing), and both languages generally support any library equally well(except C++ code and compilers, though even then, the C style stuff works fine.)
Start wherever you feel comfortable, but don't stay with that one language forever. In these years, variety s very useful.
Also, anyone can write a working program on their first day, if they copy/paste from a tutorial. Actually, that is one of the better ways to learn, if after you have the (simple, or else it won't work well) tutorial that does something, you can make changes and see what happens.
If you have a tutorial that counts from 1 to 100, then you can easily change some of the numbers and find out if you understood it well enough to skip every second number.
-
That's the kind of thing that pisses me off about learning to program. You have to be a programming literate IT guy to learn how to program in the first place.
So, do you gurus have any advice for a goal-oriented person who wants to program? I'd like to think my goals are very achievable, I've just never found a goal-oriented tutorial or command dictionary to make them happen. Or for that matter, a program language good for beginners, since apparently every language is either an exercise in package wrangling frustration, or Python which doesn't actually run on it's own.
C# might be your thing. It's pretty point-and-run, and builds standard Windows executables (and runs on OS X or Linux without a recompile, though that's considerably more technical).
-
Something I find particularly useful for learning languages is taking multiple tutorial codes for the same basic principle, and then jamming them all together until they fit. For example, while learning DirectX and win32 programming, I have used tutorials from 2 websites (TheForger's Win32 and an online directx9 tutorial) and 2 books (DirectX9.0c by Luna and DirectX10 by Jones) and by throwing things together from the various sources, one really gets a feel for what works, what doesn't, and more importantly, how things fit together.
-
Good luck to you! I think mountaineer is a good game idea.
(I wish I could learn to code. Alas...)