magicsofa Posted August 22, 2011 I know there are a fair number of code monkeys here on the forums, so I'd like to ask a question: What programming language should I dive into as a rookie? When I was about ten years old, my dad showed me how to use a few simple commands in QBASIC. Using the built-in reference I eventually gained enough knowledge to draw stupid shapes on the screen and create some incredibly simple "games." Much later, I discovered BYOND, which is essentially a game creation platform with a pretty robust programming language. It was miles ahead of things like the Games Factory which I had had fun with but got annoyed at the limitations of their "visual" programming. I have used BYOND on and off for a while, mostly just experimenting with game concepts. It is fun, but it's a relatively small corner of the internet and the only people who would play my BYOND games would be people who already use the client. I don't think that I could use it to satisfy my coding desire ad infinitum. Part of the reason is because since it offers a lot of built-in functionality, you can end up working in reverse and using sort of hacky methods to do certain things. For example, it has a built-in grid system so you can have a 2d map and have objects and tiles move around on a grid with basically no work at all. This is convenient, but if you want pixel based movement you now have to work around the grid system. At this point I think I would rather learn how to write my own movement system from scratch. So, with that in mind, I have been thinking about ditching BYOND and moving on to a "real" programming language - to avoid having a game-maker hold my hand, to avoid the restrictions of using built-in functionality, and to avoid forcing people to download the BYOND client before playing my game :D However, I'm not sure where to start. I'm interested in creating 2D games, partially just because writing a 3D engine would be a tad over my head... Should I try something like Python or Java? I don't know a ton about it but I thought those were good for cross-platform compatibility (If I ever wanted to make any money on games, I feel the best bet would be stuff that can run on mobile devices). Or, should I put my own balls in a vice and hit up C++? I do have a bit of coding experience but I fear C++ might not be newbie-friendly enough. Or, I could be totally wrong! This is why I'm asking you guys! Thoughts? 0 Share this post Link to post
Phobus Posted August 22, 2011 The nice thing about coding is that there is lot of help on the internet for most of the common languages. I'll concede that I've learnt most of my coding so far at uni but that was a major factor all the same. I'd say C++ didn't seem to difficult to pick up considering I'd never coded anything more complex than ACS before. Java seems to be a good way of getting into jobs though, so whatever you like the look of really! 0 Share this post Link to post
andrewj Posted August 22, 2011 I suggest Java. C++ has many gotchas and makes certain things that should be simple (like iterating through a container) much more verbose and error-prone than they should be. This thread mentions some toolkits for game development with Java: http://forum.freegamedev.net/viewtopic.php?f=3&t=1234 0 Share this post Link to post
Xeros612 Posted August 22, 2011 Java's a handy one to learn. It's got a few annoying bits and pieces here and there syntax-wise, but its cross-platform compatibility created by the JVM makes it a sensible choice all around. C# isn't bad either, though my only experience with it is providing background code for ASP.NET web pages so I don't know how well the language works with other things. I think it's safe to assume it isn't a one-trick language. 0 Share this post Link to post
magicsofa Posted August 22, 2011 fraggle said:http://www.codecademy.com/ lol...reminds me of when I had this teaching program called "Learn to program Visual Basic" (great title huh) I suppose I will go with Java, thanks for the advice 0 Share this post Link to post
Wagi Posted August 22, 2011 I've always found c# to be counterintuitive compared to C++, but that's just me. I learned C from an old throwaway book from what I assume is the 90's. (slash-slash comments were only given breif mention in the book, where they were referred to as "the future of comments". The rest of the book used comments /*like this*/ without exception). C++ isn't really more flexible than C, but it certainly has a better way to visualize things. The only feature that can't be done in vanilla C is polymorphism and virtual functions. OOP is usually worshipped as a huge revolutionary concept that you can't live without, but it literally is just a more intuitive way to write the same program. 0 Share this post Link to post
Scripten Posted August 22, 2011 fraggle said:http://www.codecademy.com/ Is there anything more to this than just a basic introduction? It took me all of thirty minutes to complete everything, and I really like the way it introduces concepts. 0 Share this post Link to post
Belial Posted August 22, 2011 C#, or C++ with bits on (Qt, C++ Builder). 0 Share this post Link to post
John Smith Posted August 22, 2011 http://learncodethehardway.org/ Best way to learn code I've seen so far from anywhere, it's pretty retard proof. Start with Learn Python The Hard Way, then look at Learn Ruby the Hard Way, especially if you're interested in web application stuff. Learn C the Hard Way isn't finished yet but unless it's really epic I cannot reccomend it over The C Programming Language. Kernighan and Ritchie write an excellent text, and by the time you would get to it you'd be well prepared from knowing Python and Ruby. 0 Share this post Link to post