• Where to start?
    11 replies, posted
I realize this is probably one of the most common questions you guys get, but really, where should i start? I've heard different reasons to start with different languages and stuff, but i want to hear what you guys have to say about what i should "start" with. I've technically already started, i've been doing LUA in gmod for a few months, but from what others have told me that language is piss easy. I wan't a language that i can make a very basic game in. Nothing big, nothing elaborate, a top down shooter or dungeon crawler, anything would be sufficient. It would also be great if the language would be useful outside of a hobby, as part of the reason i haven't dove full into lua is because i've been told it has no use in the programming industry past gmod. Any advice?
Since you already know GLua, you could just use Löve.
Lua is actually pretty powerful and fast, and there are more things that use it besides GMod. Take a look at [url=http://love2d.org]Love[/url] if you want to start making graphical games, or just [url=http://code.google.com/p/luaforwindows/]Lua for Windows[/url] and play around with the console.
[QUOTE=ZenX2;33822787]Lua is actually pretty powerful and fast, and there are more things that use it besides GMod.[/QUOTE] [url]http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games[/url] Far from a complete list, too.
Buy a beginner book on a language of your preference and read it. I started with visual basic. I learned simple IF statements and loops. Then I read some books on java and learned the difference between procedural programming and object oriented programming etc etc... If you're making basic games i'd probably recommend java. Java is a good language for quickly making basic games. Once you learn java you can make the game right away, unlike C++/C. C++/C is a good choice as well but this language requires you to know multiple API'S for graphics,sound,networking..ect. If you just want to make a basic game (quickly)this might not be the best choice. I dont know much about LUA but i guess you could use that as well. Imho,once you know one programming language, you know them all. A strong knowledge of linear algebra topics is highly recommended but not required(for basic games).
I'm reading up on LOVE right now, looks promising. After LOVE i plan to expand to java. Thanks for the help.
If you are considering C++, C#, Java or Python [URL="http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx"]you can start here[/URL] for a fairly comprehensive list of resources and recommendations to get you started.
Lua is a very nice language which fills a very specific niche. You can totally continue working in Lua for a while, languages are not so dissimilar that you have to worry about choosing the wrong one. Once you've learned to 'think like a programmer' learning new syntax is almost trivial (except when encountering entirely new concepts for the first time). If you want to branch out, my first suggestion would be Python. It's easy, you get results fast, it has a huge standard library, etc. If you're going strictly by what's popular in 'the industry' (which industry?), you'd probably want to learn C and C++, as these are still the most popular in general. Despite the similar names, they are very different languages and you should try to learn the idiomatic approach for each. Of course, it varies with what sort of software you want to write. Java and VB (ugh) are more popular for business applications, C is more popular for embedded systems development (and unix-y things), C++ is like the de-facto standard for developing Windows applications (although C# might be gaining popularity here), a vast multitude of languages are popular for web development, including both web-specific languages like PHP and general purpose languages like Ruby, Python, and Perl. But I like Python and C (the latest standard, C99). That's just my preference.
I started with Lua in Gmod too. Then I read book called Head First C# (I totally recommend it). It taught me all the basic programming concepts and object oriented programming. After that it was really easy to pick up any language because I knew all the basic stuff already. Lua is easy and fun language but it lets you do all kinds of dirty stuff other languages don't allow so that's why it's not good language for learning.
I recommend that you use this site. [url]http://thenewboston.org/index.php[/url] It's a guy that posts youtube tutorials in like 20 different laungages, he also posts tutorials of programs and math, physics, chemistry etc..
Recently, quite a lot of games have been made and released in C# using the XNA framework.
I've posted about how bad thenewboston is in every thread that mentions him. Do not learn a programming language from thenewboston, he barely teaches the conceptual side of things and when he does it's a horrible mix of half-syntax half-english. In the introductory Java tutorial, when he first explains methods, his examples of methods are "bake cake;" "eat the fn cake;" iniside an example class "apples". First off, methods don't have spaces and require parentheses. Second, "apples" is not a good name for a class. It's giving beginners the wrong idea about object oriented programming, where the class should be "Apple" and an ArrayList<Apple> should be called "apples". He also spreads common misinformation, like in the beginner C# tutorial he says right off the bat that C# only runs on Windows and can only be compiled using Visual Studio. No mention of Mono, MonoDevelop, or SharpDevelop. In the introductory Java tutorial, he explains that System.out.println is used for everything from console input to writing to database files and some other crap, when in fact System just deals with standard streams stdin, stdout, and stderr. In the introductory C# video, he starts off teaching winforms, skipping main, the basics of programming, etc. and later when he adds a button and generates an event handler for OnClick, he doesn't explain what the event handler is, and awkwardly goes over methods as he's typing MessageBox.Show(...);
Sorry, you need to Log In to post a reply to this thread.