in
Welcome to Lionhead Community Sign in to Windows Live ID | Help

Programmers, how did You get started?

Last post 10-01-2009, 13:18 by 00din. 8 replies.
Sort Posts: Previous Next
  •  04-25-2009, 17:09 3331642

    Programmers, how did You get started?

    Hi there, I'm really struggling to get to grips with programming. I don't know if it's the resources I'm using, or if I'm just too thick to get to grips with it. I have read the thread about how to get started which recommends Java then C then C++ route. I can see the wisdom but even with Java I face the same problem, that every tutorial seems to demand I become conversant in about ten-billion different things before I can even contemplate doing anything interesting.

    I just want to begin playing with graphics and take it from there. Is there any hope? : )

    Whilst I'm bitching, I'm always hitting that same wall I've heard other people talk about that means it can takes hours to learn what feels like nothing. I think this is because of the number of tutorials that aim to teach a language outside of any particular kind of programming discipline. Isn't there a book called "Learning to program C++ in the context of learning how to write games in the context of the commercially available programs that real developers use"? Which progresses in a first you learn to get a screen, then plot point, draw lines, make polygons, animate characters, double and triple buffers, etc. Instead of all this pony about writing a GUI for Windows using windows widgets, which nobody in their right mind would want to do!
  •  04-25-2009, 17:45 3331676 in reply to 3331642

    Re: Programmers, how did You get started?

    Whilst I'm also having a moan and talking to myself; does anybody else think that the trouble with computer languages is that they're all ***?

    I'm sorry for the vulgarity, but really, no matter where you go it's like getting into a time capsule and going back twenty years. Even brand new languages, like Fortress, are basically very generic with respect to ancient languages, like Fortan (get the name, Fortran v Fortress, yeah?). What's the frikkin point?
  •  04-26-2009, 10:47 3332086 in reply to 3331642

    Re: Programmers, how did You get started?

    You're not going to like this, but you're not going to be producing the kind of results you're wanting to within a few weeks. Learning C++ whilst using the tools and methods that we do professionally are simply mutually exclusive goals. You can't run before you can walk.

    Ultimately it doesn't matter which language you learn with, what you're needing to learn is how to program. And that's a skill that is totally independent of the actual language you're using.

    I do agree that it's a tough thing to get into these days, there's a very steep learning curve. The best recommendation I can make is that you try something like Blitz Basic or Dark basic, which are easy languages to learn and have lots of stuff in them to make it easy to do the kinds of graphical things you're interested in.

    It does sound like your choice of book isn't helping you though. There are books that focus on C++ as it applies to game coding (and indeed C# as it applies to XNA, another G o o d [Good] 'in'). But you're not going to find something that's at a beginners level but at the same time gives you what it seems you're after.

    But this isn't a simple thing to learn. You have to have a G o o d [Good] grasp of maths and logic. You have to be able to think in a certain way to 'get' programming. Some people simply can't do it, in the same way that many people can't animate or draw (my art skills are legendarily bad).

    As to how I got started? I learned to program in BASIC on a ZX81, then VIC20 when I was 7 years old. Continued to teach myself through school, and then formally taught how to do it properly at university. And now 10 years on the job. I pick up new things all the time though, always something new.
  •  04-26-2009, 11:37 3332105 in reply to 3332086

    Re: Programmers, how did You get started?

    You can't just dip in?

    I used to program the ZX81, and the Commodore 64 in the eighties, I wrote scroll programs, the occasional demo, game hacks and multiplexors. Back then though I remember picking up a book on Commodore programming, flicking to the bit that explained how sprites worked, and getting underway, it was a struggle to understand at first, but once I got it, it was easy.

    I think the main problem is having loved assembly coding, C++ looks awful. I'm also frustrated by the barriers. Just learning how to use Visual studio enough to get started is a problem in itself.

    What I'd really like is a basic way of getting into graphics programming. (sorry for my annoyed tone here, I'm writing this whilst struggling with it). There must be a way of, say, plotting points in C++? Then moving to video syncing and back-buffering? I did it on the Commodore in machine code, why does it seem so much to ask in C++? I thought it was meant to make it easier!?
  •  04-27-2009, 5:47 3332502 in reply to 3332105

    Re: Programmers, how did You get started?

    Ah, you're a low level coder. In that case, you're probably best off sticking to the DS unfortunately.

    To do 2D work on a modern console actually requires you to fake it using the 3D hardware. Everything is geared around the 3D paradigm now. No sprites, no direct point plotting and not even the hint of a blitter object or a raster interrupt.

    It's simply not possible to target the hardware directly in the manner you want to on modern consoles and the PC. It all sits behind layers of abstraction and interfaces and you simply don't get to code to the metal.

    There are three reasons they're set up that way. One is security, by only allowing the coder access to the hardware through a tightly controlled API the console manufacturer can keep the machine more secure. Security is vital given all these machines go online and involve credit card based microtransactions. It also helps to reduce incidence of cheating.

    Second is simply complexity. While it is possible to code the CPUs and GPUs in a modern console in assembler it would take decade to actually write anything decent.

    Thirdly is hardware variance. Even with something like the PS3 and 360 the hardware that sits in peoples homes is not identical. Revisions are made, internals are changed around. The API and the results stay constant, but how the machine does the work internally can change. This is even more of an issue on the PC with all the combinations of CPU, GPU and Sound card you can have.

    It doesn't bother me, I'm very much a high level coder (working mostly in a mix of C++ and Lua) and so the farther away from how things actually work I can get the better.
  •  08-25-2009, 5:54 3394867 in reply to 3332502

    Re: Programmers, how did You get started?

    Id try the video manual tutorials you can find for XNA and just try those a bit, you can create a simple side scroller in a day or so if you have some programming experience. Then adapt what you did a bit till you get a feel for how it works. Depending on how much you like what your doing you can learn more from there. But still learning to programm means you need to learn alot of generic stuff... (generics included... or are they! Stick out tongue [:P])
  •  08-26-2009, 10:33 3395733 in reply to 3331642

    Re: Programmers, how did You get started?

    I started when I was 4 and my dad taught me to count in binary. Then dad got the 'computer' add-on for the Intellivision game system and I learned it's butchered form of basic somewhere between kindergarten and first grade.

    I can understand the idea of starting with java -> C -> C++. java for OOP knowledge, C for pointers and memory management, then c++ to bring OOP, pointers and mem management together.

    In the G o o d [Good] old days, you had direct access to hardware, you could rewrite keyboard handlers, mouse handlers, joystick, sound, video, etc. It was all right there in memory on a single threaded (blah blah interrupts blah blah) platform.

    Now, you have multiple cores, multiple threads, and a whole lot more complexivity. Your average OS is going to want a common denominator to not only get all this varying interchanging hardware to speak the relatively same language, but also protect it to ensure that it is not in an invalid state when the currently executing thread it swapped out in the middle of a complex function for another thread. This is also done to prevent hardware hacks (whether malignant, or quirky).

    You could probably skip the java and go to c or c++, but you'll need to use either openGL (and likely sdl and other libraries) or directx to bypass certain layers of abstraction and get a little closer to the metal, as well as have the ability for your code to work across varying grfx hardware since the manufacturers implement opengl and directx in thier drivers.

  •  09-01-2009, 20:21 3398873 in reply to 3395733

    Re: Programmers, how did You get started?

    Well I'm...no where near basic level skill lol...Im 14, but the game inustry is definately something I want to get into....so I was just wondering...is it too late for me to learn? And another problem is...I'm not realy sure if it's actual CODING I want to do... I want to work on a more creative front...I can think of game mechanics till the cows come home, but I couldn't code them to save my life...any tips on how I could get started? Maybe some free, basic programs that I can get to grips with before moving onto the big guns that cost money?




    Take the Role-Playing Stereotype quiz.
  •  10-01-2009, 13:18 3408728 in reply to 3398873

    Re: Programmers, how did You get started?

    What really got me started on programming was Neverwinter Nights scripting, which is (very) simplified C. It was extremely easy to learn and introduced me to concepts such as variables and functions.
    Then I discovered C# (and XNA), which is a joy to work with, even for an amateur such as myself.

    [Serdan dot EU][Emotiv]
View as RSS news feed in XML