Where to start?

edited in General
Hey guys, I really want to get into programming. I'm new to this. How does a console based program relate to a game with visuals and art? How would I take what I learn from console program programming and make a game? I was talking to a c++ programmer and he said python would be a good place to start. Is this right? Once I've learnt that would it help me to learn c++? Thanks

Comments

  • Well, it depends on what your goals are.

    If you want to make games in this country I would NOT recommend learning Python or C++.

    I would recommend getting your hands on Unity. You can code in both C# and javascript in Unity.

    C++ is a really painful language and using it will make the already difficult task of making a game a really really unnecessarily difficult task... and you'll probably fail. The only time you need C++ is if you absolutely have to do low level programming to get more control/performance in order to do something specific that wouldn't be possible otherwise. If you are just starting out then this will not be the case.

    As far as I am aware there are no South African games companies using C++ or Python.
  • Console programs use the same sorts of logic (and often syntax, depending on the programming language) as programs with graphics and user interfaces. It's just that games are a lot more complex and end up throwing a lot more data/variables/information around than a typical "Hello World" style program. But in the end, they're all just a similar set of instructions for a chip to process...

    That said, your best bet if you're interested in getting into game programming is to pick up a functional system like Game Maker or Unity and go through as many tutorials as you can find. You'll learn the programming side of game development much faster that way than you would if you tried to build everything from the ground up.

    Eventually you'll be able to build your own engines (if you even want to do that, I certainly don't!) and you'll have a bunch of games to show for your trouble instead of a collection of boring console stuff that counts stars and outputs random text ;)
  • edited
    Start with unity or game maker (they're free). Decide what you want to build, start super simple. Find as many tutorials as you can in a similar vein. Start going through them, and start hacking your way, playing around with things, see what breaks (in the beginning everything will break), see what changes. Start by modifying other peoples code. Eventually you will hit a wall where you can't find the code you need, and here is where you will start trying to fill the blanks.

    In the beginning, the only programming learning you need is a simple online course, to get you up to speed with barebones concepts like variables and for loops etc. http://www.codecademy.com/ is a good start (this is your console based programming). Don't worry too much about which language. Javascript is good enough for learning basics. Most of the concepts translate literally to C# and others (C++ has steep learning curve. Python is cool, but it's going to be less useful for games - and it's style is a bit further away from JS and C#. So I would rather start with Javascript). A great deal of making games tick in the beginning isn't so much programming as learning API's and understanding what functionality a game engine offers, and how you can leverage all of that functionality. Learning all of this will take a long time.

    Eventually, as your programming skills grow stronger and stronger you start taking on more ambitious tasks, learning new skills all the time. In due course you'll also start buying books that help you demystify confusing topics (there will always be new topics to learn that require demystifying ;) ). Main thing is to a have a goal. Eg I started with building a simple Mp3 player (back in flash). Had no idea what the hell was going on. Followed tutorials, struggled my ass off, eventually got it working. Then the next time I built a better MP3 player, using classes and inheritance. The next time I built a streaming media console that could handle different playback sources and video streams etc. Point is each time I had a goal and achieving that goal pushed me into starting without worrying about where and how.

    I find that trying to learn something "for the sake of learning something" is generally not a good way to go about things, even if you really want to gain that knowledge. This is because A) you don't know what is a complete knowledge set looks like and B ) when the going gets tough your brain will find ways to make other things more appealing.

    tl;dr Start with a goal: simple break out clone, simple top down shooter, simple 2d platformer, etc. Pick an engine: Unity/Game Maker. Find tutorials and example projects. Start hacking and having fun ;)
    Thanked by 2dislekcia hanli
Sign In or Register to comment.