Sign in to follow this  
Camfitzsmith

I am 21 years of age, with absolutely zero knowledge of Coding/Programming. HELP!

Recommended Posts

I have began the arduous task of trying to figure out how to get some traction in learning Game Development. I have fallen in love with the idea of making programs and games of my own from the ground up, my own "baby" if you will. I bought Sam's Teach Yourself C++ by Siddhartha Rao as a sort of stepping stone into it all, but as I soon found out C++ is not so complete noob friendly and I very quickly was underwater. 

After reading a few threads on gamedev.net's forums and I believe I've landed on Python as the language I would like to get started with. My main question I suppose is now what? College is not really an option, could anyone suggest an online site to begin with or perhaps even a really good textbook? Or any advice from people who have been in my shoes or anything really would be greatly appreciated.

Share this post


Link to post
Share on other sites

It's possible without college... just frustratingly difficult as... a lot of details that you need to learn, isn't really easy to search for without knowing what the term actually is.

 

I wouldn't start with python however. It's not difficult. It's just not the best language to learn how to program a game with.

 

Try out Monogame, Unity, or the Unreal Engine. If you really need to go down to the basics.

 

I'd start off with buying a book that teaches you C. then try programming some simple terminal games. Like rogue likes, Dwarf Fortress, ect.

 

If you start with Python, I think there are some boards in the workshop that teaches it.

Edited by Tangletail

Share this post


Link to post
Share on other sites

 


I wouldn't start with python however. It's not difficult. It's just not the best language to learn how to program a game with.

I disagree. Learn python and then learn pygame (http://pygame.org/news.html). I believe the beginner languages recommended are usually C#, Java, and Python. I have to defer to those languages recommendations because I started with C++ against many recommendations and have the bias of telling beginners to pick the language they want and then dig in.

 

 

I started with C++ as well... and honestly I can't see why it's not recommended. It's fairly easy. I found Python annoying for the way it handles it's classes. C# for the way it takes away an amount of control I was comfortable with. And Java for being a strange little thing.

Share this post


Link to post
Share on other sites

I think HTML5 offers the path of least resistance. You basically just need a text editor and a web browser to get started. There's a multitude of tutorials available online for free so it won't cost you anything either.

Share this post


Link to post
Share on other sites

Python is a good language to introduce basic programming logic with. Python goes straight into the general concept of programming with easy syntax and rules that total beginners can easily follow. I know a very good online book about Python. You don't necessarily need college to learn coding. Internet has a lot of tutorials, and there are communities to help you with your problems.

 

Of course, I recommend you to give C++ another try after getting the hang out of Python because C++ is really important. This is just my personal opinion, but here's what you need to do:

  1. Start with a programming language (like Python or C++).
  2. Take a look at a multimedia framework like PyGame for Python to see how game mechanics are done. SFML for C++
  3. Try using a game engine like Panda3D.

Some people say that you can just go straight to game engine after learning a programming language, but I think learning about game mechanics first is better since you'll know what you want to do when facing a game engine. It'll make it easier to learn the engine too.

Share this post


Link to post
Share on other sites

I personally feel like, as much as Python is "noob" friendly, it's syntax style isn't used anywhere else really. Because of this, I would recommend C++ or Java to start with. It'll be a bit rougher, but at least you'll be diving into a language that *feels* a lot more high-level. Once you got those down, you can basically read a ton of others with little effort. Python can do it, and there are games that have been built on it, but I feel a lot of the bigger games are still supported by a C/C++ back-end.

I like Java because of it's cross-platform, launch right out of the editor feel. But to really get a grasp, C++ is the big boy on the list. Pick up some OpenGL/DirectX books and you'll not only be building a game, but an engine as well.

But hey, I use Unity now because I like it's fast prototyping, C# scripting, WYSIWYG editor, and it's free.

Share this post


Link to post
Share on other sites

Python is a great language.

Even though I am a C++ programmer - and we usually scoff at 'lesser' languages - Python lends itself to a more playful, exploratory and functional programming style.

That "the syntax isn't used anywhere" is not an argument against Python. To the contrary! IMO. It makes it easier for you to - at least in the beginning - keep languages separate instead of mixing them up.

Share this post


Link to post
Share on other sites

How long were you studying C++ before you decided you were drowning? It's not something you're going to learn in a couple of weeks or something like that. I've been programming in C++ for ages (years) and still learn new things in it all the time. It took me around 3 months of C++, studying everyday, before I was ready to make my first simple terminal games (blackjack, poker).

Edited by Mats1

Share this post


Link to post
Share on other sites

 

If you want to land a job as a programmer, however, you really need to go to college. smile.png

 

I actually discussed this with a friend of mine who runs his own software company. He said his employees (programmers) are almost exactly a 50/50 split of people who studied at university/college and people who did not. As long as you can do the stuff they task you in the interview and do well in the other parts of the interview, there is no reason you should have to go to college or not. Of course, some jobs list that you must have a degree of some sort in the job requirements, but for those that do not, it is enough to be able to do the stuff. This same guy complained that actually what they are teaching in courses at universities is not what is required in the software industry and it's often times the case that a fresh graduate needs six months training to do the job. It's much better for him (and therefore some other people also) to just get in someone who can do the job almost straight away.

 

Edit: Basically, going to college is not a necessity, but being skilled in the right area IS!

 

This is just one company and one persons opinion.  Lots of people would companies are different.  However you won't get refused an interview because you have a degree but lots of companies will refuse to interview you if you don't.  Having a piece of paper opens a lot of doors. 

Share this post


Link to post
Share on other sites

Yes, indeed.

I frequently hear of people with 20 years of experience who ain't gonna be hired because they haven't got a degree. Which is totally bollocks, of course. But try and convince "Management" ..

 

Tell your friend, Mats, that he's awesome smile.png

The industry needs more people like him.

Edited by jacmoe

Share this post


Link to post
Share on other sites

I fully agree, but I am living in Denmark where software developers are either outsourced from Poland or from much further East, or employed only while having a relevant college degree. There is no way to get into the industry without that, except being part of a startup.

That is all due to fierce competition.

Share this post


Link to post
Share on other sites

I fully agree, but I am living in Denmark where software developers are either outsourced from Poland or from much further East, or employed only while having a relevant college degree. There is no way to get into the industry without that, except being part of a startup.

That is all due to fierce competition.

 

Slightly OT: If this is following the same pattern as the UK it won't take long before people start realising that when you outsource software development you always get a lower quality end result than doing it in-house.

 

This is because the level of communication required opens up more chance of misinterpreted specifications etc, and if they're doing it cheaper, they probably aren't putting the same level of effort in.

 

They did this where i worked and outsourced development of a system to a group in bulgaria that proceeded to make a complete pigs ear of it. You get what you pay for.

Share this post


Link to post
Share on other sites

C++ is one of those languages that has much subtle complexity, it is a great language with much power BUT all the responsibility is on the developer to know the ramifications of their actions. I think it was Bjarne Stroustrup that said "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."  :)

 

To get a good grasp on the subtle parts of C++ you really need to read "The Design and Evolution of C++" by Stroustrup. You will end up with a far better understanding of what the language is and why it is that way. (Pre generics etc but still very relevant)

 

If you want to play with C like languages then C# might be a better starting point as it has garbage collection so most of the resource management issue that trip up noobs are taken away. It does not have multiple inheritance like C++ but many agree that is a bad thing anyway due to the subtle issues it can create unless you are careful. I also has list comprehensions via linq. Linq also supports other monadic comprehensions but that takes some setup or 3rd party libraries.

 

If you are on windows grab Visual Studio 2013 Community edition... Its free and full blow VS so you get C#, C++, F# and many languages plug into it including Python variants I believe. Great IDE.

Share this post


Link to post
Share on other sites

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."


You try to shoot yourself in the foot with C++. You load a bullet object into the gun object and call the fire method, but you can't be sure if you took aim at your foot, a pointer to your foot,.or just a reference to your foot, or a reference to a pointer to an array of two feet, shouting "hey! That's your foot! Over there!!!" :lol:

Share this post


Link to post
Share on other sites

I think HTML5 offers the path of least resistance. You basically just need a text editor and a web browser to get started. There's a multitude of tutorials available online for free so it won't cost you anything either.

It can be a practical way to target several platforms at once [1], but the trouble with HTML5 is it isn't beginner-friendly. As well as working on the actual programming language (Javascript) you have to make it work together with HTML and CSS in separate files (you can mix them all together, but that's not really a good idea). You'd still want a decent programmers' editor or IDE anyway, so being able to get started straight away with no more than Notepad and a browser isn't a significant advantage.

 

Javascript has a different OOP model from the other mainstream languages (C++, Java, C# and python too) which I find harder to learn, especially as there are at least two or three ways to define objects without it being terribly clear what the pros and cons of each are.

 

[1] But for performance you'll probably have to use WebGL. Whether you write it yourself or use something like Three.js, support for WebGL is a bit iffy in MSIE, Android and iOS.

Share this post


Link to post
Share on other sites

 

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."

You try to shoot yourself in the foot with C++. You load a bullet object into the gun object and call the fire method, but you can't be sure if you took aim at your foot, a pointer to your foot,.or just a reference to your foot, or a reference to a pointer to an array of two feet, shouting "hey! That's your foot! Over there!!!" laugh.png

 

 

rotf sooo true.

 

Also because you forgot to dealloc the mess you have just caused you have ghost feet all over the place haunting you

Edited by WozNZ

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this