Do not know were to start!

Moderator
Posts: 3,574
Joined: 2003.06
Post: #46
Najdorf Wrote:Blitzmax is not BASIC.

In all fairness, he did say "derivatives". There really isn't any such thing as pure BASIC anymore. Even when I started using BASIC it had already been mutated by Microsoft (in like ~1981,2,3,4, yes, I know, in six feet of snow up hill both ways, whatever).
Quote this message in a reply
Member
Posts: 67
Joined: 2006.07
Post: #47
If you're really serious about game programming, then I can guarantee that you're going to have to learn C sometime in the near future. But for now (especially considering that you're 13), I'd say BlitzMax is a really good way to start.

Yes, this is all very confusing, for sure. I went through this once -- every game programmer has done so at one point or another. It does initially feel very intimidating when you have no idea where to start. But in the end, as has been said before, you just have to pick something and go with it, and not be afraid to put some effort into learning new things. Stick with BlitzMax for now, but think about transitioning into other languages and tools once you feel comfortable with BlitzMax.

The biggest piece of advice I can give is to learn things in steps, and try not to do things concurrently, as you will probably get confused and start to form misconceptions. Start with BlitzMax and the concepts of programming in general (like functions, data structures, objects, etc). Move up to C. Move up to Objective-C and Cocoa. Then move up to game programming. Each step will take quite a while to get comfortable with, but it ensures that you have a solid foundation to work with.

Mac game programming is a small, niche trade, and the information is sometimes frustratingly scarce. Luckily, you have iDevGames to help. Smile

(As a side note, while BlitzMax and most of the modern BASIC variants out there are much better than classic BASIC, I'd still say transitioning from any kind of BASIC to a C-based language will be bumpy. And while these newer variants of BASIC (BlitzMax, VB, etc.) have similar control structures to C, still, I think getting used to thinking in braces is a big part of becoming adept at C and its descendants.)

AnotherJake Wrote:In all fairness, he did say "derivatives". There really isn't any such thing as pure BASIC anymore. Even when I started using BASIC it had already been mutated by Microsoft (in like ~1981,2,3,4, yes, I know, in six feet of snow up hill both ways, whatever).

Just wondering, was that Applesoft? Because I first learned how to program with Applesoft BASIC (although substantially later, as in early 2000s). I had written a few somewhat advanced programs with it before I decided I wanted to program on the Mac (oh the horrors of the Toolbox). And, well, let's just say it was very hard to make the transition.

Still, it was quite fun to play around in ProDOS. Grin

Since when was "Fred" a placeholder variable?
Quote this message in a reply
Moderator
Posts: 3,574
Joined: 2003.06
Post: #48
Wowbagger Wrote:Just wondering, was that Applesoft? Because I first learned how to program with Applesoft BASIC (although substantially later, as in early 2000s).

The one I started on was Color BASIC for the old original silver CoCo 1. But that too, like Applesoft, was licensed by Microsoft. The only non-Microsoft supplied BASIC I recall at the time was Sinclair BASIC, which I believe originated in the UK. The stuff I learned came from the computer's manual, and also from typing in programs from magazines.
Quote this message in a reply
Moderator
Posts: 682
Joined: 2002.11
Post: #49
Going from BlitzMax to C wouldn't be as hard as you make it out to be, Wowbagger. BlitzMax is essentially Java with words instead of brackets.

Also, I still question the notion that C knowledge is necessary to be a game programmer. I still don't know C enough to write a game with, only to rearrange examples in homework problems. Despite my lack of knowledge, I have written several games.

If by "near future" you meant "next five to ten years," then I agree with you, but we can't expect all new programmers to go right into C and raw OpenGL, optimizing the hard parts with straight ASM.

My web site - Games, music, Python stuff
Quote this message in a reply
Moderator
Posts: 3,574
Joined: 2003.06
Post: #50
Nobody here has suggested that you must learn C to program games, but C is not some special knowledge which should be considered off-limits to beginners either.

I sometimes get the impression that those who start on BASIC or some other scripting language become somewhat fearful and/or confused about C, and have a hard time progressing. It can take a long time for some of us to absorb C concepts (maybe years), so I think that it might be a good idea to get started with it at one's earliest convenience -- though certainly not as the main focus of making games at first.
Quote this message in a reply
Moderator
Posts: 1,560
Joined: 2003.10
Post: #51
AnotherJake Wrote:I sometimes get the impression that those who start on BASIC or some other scripting language become somewhat fearful and/or confused about C, and have a hard time progressing. It can take a long time for some of us to absorb C concepts (maybe years), so I think that it might be a good idea to get started with it at one's earliest convenience -- though certainly not as the main focus of making games at first.

My approach to this problem when I was getting started with development was to pick an environment that was manageable and let me do some cool stuff, use it to build games until I run into too many limitations, then move on to something more advanced, and repeat. This approach allowed me to jump right in and start doing making things, learn and internalize the knowledge gained from that environment, then smoothly graduate to more advanced concepts when I was ready for them. This path led from HyperCard to C in about 3-5 hops.

Also, this approach adapts to your needs. For example, diordna (pardon me for using you as an example) used to use METAL basic, and moved on to BlitzMax when METAL was too limiting. He hasn't run into enough limitations in BlitzMax (or pyglet?) to feel it necessary to move on to C, so he's able to be perfectly productive in his current environment.
Quote this message in a reply
Apprentice
Posts: 16
Joined: 2008.09
Post: #52
You guys into meet in some other thread and decide what I should start with.

Dogs
Quote this message in a reply
Moderator
Posts: 1,560
Joined: 2003.10
Post: #53
The decision is yours, really. I know we've been talking about a lot of stuff that's likely to be pretty disorienting, but what it all comes down to is that you need to pick one of the choices and start learning it. Any one of the choices will be fine for learning, and are guaranteed to get you further than listening to us debate endlessly about it. Smile

If you feel this thread is getting too cluttered or off-track, and still have some questions, don't hesitate to start another one.
Quote this message in a reply
Moderator
Posts: 3,574
Joined: 2003.06
Post: #54
Sorry about that Brody. BlitzMax is a perfectly good direction to take. We're off discussing other ideas and directions which you may be interested in looking at when you get a chance, but they're not really all that important, and you shouldn't let us distract you. We all agree that you just need to pick one and go for it, and it sounds like you may have found that with BlitzMax. In the meantime, feel free to ignore our incessant babbling and carry on with what you have.
Quote this message in a reply
Moderator
Posts: 682
Joined: 2002.11
Post: #55
ThemsAllTook pretty much covered it. In the end, BlitzMax ended up being too limiting for me, and Python is just nicer in general to use, but requires a bit more knowledge to get things set up properly. BlitzMax will be fine for your needs. My only quibble is that it isn't free. Also, the community is slightly unstable. But go for it, it has a nice feature set.

My web site - Games, music, Python stuff
Quote this message in a reply
Member
Posts: 67
Joined: 2006.07
Post: #56
Brody McCrone Wrote:You guys into meet in some other thread and decide what I should start with.

Yeah, sorry about confusing you like that. But, like ThemsAllTook, AnotherJake, and diordna have already said, the thing is, there is no "best place" to start -- you have to find something that's interesting and manageable, and just run with it. Looks like you've already found it, and judging by what diordna said, I don't see anything wrong with it. Still, although I don't know your specific long-term goals for game programming, when BlitzMax gets too limiting for you, then look into some of the other suggestions we've mentioned here.

Anyways, Brody, feel free to ignore the next part -- it's mostly a lot of rambling, although you can probably find some good stuff in there. Wink

diordna Wrote:Going from BlitzMax to C wouldn't be as hard as you make it out to be, Wowbagger. BlitzMax is essentially Java with words instead of brackets.

Also, I still question the notion that C knowledge is necessary to be a game programmer. I still don't know C enough to write a game with, only to rearrange examples in homework problems. Despite my lack of knowledge, I have written several games.

If by "near future" you meant "next five to ten years," then I agree with you, but we can't expect all new programmers to go right into C and raw OpenGL, optimizing the hard parts with straight ASM.

Well, first of all, I did say that despite the similarity of these languages to C/Java/etc, one of the hurdles (at least in my own experience) is just trying to think in brackets instead of words. Takes a bit of getting used to, in my opinion. Wink

Anyways, sorry about the ambiguity. First of all, I can say that I'm probably somewhat mistaken in assuming C is necessary, mainly because I don't know Brody's long-term goals. You can definitely make amazing games with BlitzMax, pyglet, REALbasic, or whatever you tool you choose. However, if his goals include getting really serious about game programming (as in high-performance 2D/3D games with Cocoa/OpenGL or SDL), then C would most definitely be necessary somewhere down the line. I don't think it really matters when you learn C as long as you keep an open mind when learning it.

But I purposefully used "near future" to be ambiguous. Everyone is different and has different learning styles. Five to ten years before learning C is a little much in my opinion, but that's perfectly fine if Brody wants to go that way. There's no rush to learn C or anything, and I wasn't trying to imply anything like that.

Personally, I went to C rather fast, and I'm very happy with that decision. I spent about a year toying with BASIC, and after that I tried picking up C. It was most definitely challenging and quite confusing at times -- took me several months to figure out the difference between the C language and the Mac Toolbox (Dan Parks Sydow's book was very confusing and unhelpful), and it took over a year before I could finally use C competently. But I can say that experience was truly worth it, judging by how much my C knowledge has come in handy (and how much of a root language C is). As I said, that route is probably not for everyone, and I can definitely see problems with it. But nevertheless, you can't deny that C is important, and in a lot of cases necessary, for aspiring game programmers and software developers in general.

And, hell, I didn't even touch OpenGL until several years later. Even today, I really can't say I know a lot about it, since I've only used it for a 2D graphics engine.

But then again, you don't even have to learn C itself first, due to it being notoriously unforgiving for beginners. Java might be a better language to try before digging into C and Objective-C. Still, despite the detour, it does give you experience in using large APIs. Plus, it's a major C-based language without pointers and memory management and all that icky stuff.

Bottom line: there are a dizzying number of routes one can take to become a game programmer, and there is no one correct path for everyone. But I personally don't think you can go for too long without looking into C. Wink

(Oh, and by the way, if you're curious, I still haven't gotten around to learning assembly yet... LOL)

Since when was "Fred" a placeholder variable?
Quote this message in a reply
Post Reply