Forums

Forums (http://www.abandonia.com/vbullet/index.php)
-   Programming (http://www.abandonia.com/vbullet/forumdisplay.php?f=25)
-   -   What Programming Language For A Complete And Utter Newbie? (http://www.abandonia.com/vbullet/showthread.php?t=12549)

crazedloon 29-12-2006 11:05 PM

Don't bother learning a traditional programming language - it will take years before you're competent enough to use OOP effectively to design and code worthwhile games (even Tetris is a challenge). What some people have mentioned: stuff like BlitzBASIC and new languages exist that are expressly meant to quickly execute an idea for a game using a high level of abstraction. This is a good use for modern computers' power and speed - don't need to mess around with C/C++ if you just want to code a 2D tile game for instance.

Apart from games dev languages there are complete games development systems for specific types of games that make things really much easier. For instance, Game Maker 6 is very good. And RPG Maker 2000. There are so many programs to put together RPG style games, 2D scrollers, etc. Even MUGEN for Street Fighter 2 games.

Life really is too short to learn the perfect respected programming language (C/C++) AND become competent enough to use it to make a really good game with nice graphics and sounds. If you've got an idea for a game, just spend the time on music, sprites, background, etc., and use a games dev kit.

The Bard 30-12-2006 12:20 PM

That is why developing teams exist, right? I lose some time to become "competent enoguh to use c++ to make a really good game", and my friend does the graphics, my girlfriend does the sounds, etc...

crazedloon 30-12-2006 03:30 PM

Exactly! The days of one man having an idea and doing a whole game programming project from start to finish are long gone (they did exist, but mainly during the 80s). The companies all use division of labour (expert musicians, graphicians, coders, storytellers, etc) and try to use ready-made and tried and tested programming libraries to save time and the vast amount of money they spend to develop their games.

It reminds me of this interview of David Carradine I saw once. He said "People want to learn to kung fu so they can crack heads, but by the time they could conceivably crack a head, they don't want to cracks heads any more".

I had this game idea once, that I was really keen on. I took some advice and learnt to program in C, from scratch. I don't regret it because it was useful and fun to teach myself a subject I was interested in, but now I've forgotten that game idea (and obviously haven't developed a game). Using a game creation utility (like Game Maker 6) I could make a nice game in about a week. I think that's a better use of time than working out a design to code the whole game from scratch.

It's like you're a boss of a big company. You need to know that the people under you can do their job, but you don't necessarily need to know exactly how the postman uses the stamping machine on the envelopes, or how the secretary's spreadsheet works, etc. You just give policy orders like: this month we're focussing on making more Far Eastern sales or whatever.

haakjay 02-01-2007 09:10 PM

VB 6 is really easy. I started programming in it at the age of seven. Made a game called gameworld and a quiz game that no one could answer. :P

Reup 03-01-2007 12:21 PM

VB6 is also old. Use VB.Net at the very least if you want to stay productive! Get the Visual Studio Express edition from M$!

haakjay 12-01-2007 11:27 PM

No .Net makes it look more like other coding languages. Use VB6 :P
In another way it has more functions (but they have also removed some)

Choose wisely :P

plix 15-01-2007 01:56 AM

<div class='quotetop'>QUOTE(Mighty Midget @ Nov 3 2006, 06:17 AM) [snapback]265136[/snapback]</div>
Quote:

relax, I don't ask for The Ultimate Language[/b]
An option I'd actually suggest rather strongly is Lisp (either Common Lisp or Scheme). It's easily the best programming language ever created (from a language standpoint). It'll give you an appreciation for a multitude of paradigms of which you'll only find subsets of in the languages listed above. Chances are you probably wont use it much in "real" projects you may embark upon as you become more proficient, but it will make you a better programmer in any language.

nitro 16-01-2007 11:12 AM

I started with GWBasic and QBasic and later Visual Basic. Later I learned C++ and Java and I learned to use classes and now I never use VB again.

You could start with either VB or Java. Just look for some nice tutorials and when you know how the basics ork it's easy to transfer to a different language. If you are going to use Java, then download and install a good development enviroment. I use JBuilder but you could also use Netbeans.

GrimFang4 16-01-2007 06:45 PM

<div class='quotetop'>QUOTE(crazedloon @ Dec 30 2006, 11:30 AM) [snapback]272813[/snapback]</div>
Quote:

Exactly! The days of one man having an idea and doing a whole game programming project from start to finish are long gone (they did exist, but mainly during the 80s).
[/b]
This is more alive than you think. Scratchware and independent developers are where good games come from, especially for the PC. Ever heard of Darwinia? If you don't work for EA, chances are you're a team of about 3 guys pounding out a wonderful game in less time for less money. I personally make games and the only reason I'm not publishing them yet is because I'm in my senior year of college in Physics (then on to grad school), not Computer Science or Game Development, and I don't have the time.

It took me from knowing absolutely nothing about programming about two months to learn how to make and then make a functional game using C++ and SDL (Simple DirectMedia Layer), and this was during a full-time job!



For those looking to jump into game development, I offer this:

C++ is the current standard for professional game development.
As was said before, the first language you learn is the hardest regardless of the choice. Java is like an easy version of C++, but doesn't have the hundreds of thousands of libraries out there that exist for C++. You can make basic games without even using pointers if they scare you.
C++ can be learned on your own (I even wrote a great tutorial, if you'd like that).
SDL is a fantastic way to get 2D graphics into your games. It's by far the simplest I've seen and offers full power, cross-platform support, as well as linking well with OpenGL for when you want to do 3D.
C++ syntax is not a problem when you get used to it. It's the same syntax Java uses and the similarities between C++ and every other language are significant. That's kinda what's indicated by calling it a language. It's mostly just different words and sentence structure.

Trust me, I've learned C, C++, Java, Scheme, and Perl (and Physics is my thing!), but if you're serious about making a start in game development and you don't want to sacrifice parts of your idea just to make it possible in those specialized game design programs, then talk to me about C++.

crazedloon 17-01-2007 12:57 AM

<div class='quotetop'>QUOTE(GrimFang4 @ Jan 16 2007, 07:45 PM) [snapback]275209[/snapback]</div>
Quote:

It took me from knowing absolutely nothing about programming about two months to learn how to make and then make a functional game using C++ and SDL (Simple DirectMedia Layer), and this was during a full-time job!
[/b]
Perhaps the speed of your learning was possible because you knew nothing about programming, rather than in spite of it. In any event, a quick search of Google and Usenet would reveal that 2 months is extremely atypically short, to learn to program in C++.

OOP (which is what C++ is for) is a method of thinking they're teaching these days to anyone who expresses an interest in learning how to program. The structure of university courses teaching computing and IT-based subjects is strongly centred around getting students used to the idea of using OOP. Whereas in my day (the days of DOS) it was considered something extremely extraordinary that I was a schoolkid who knew how to use BASIC inside and out, and could handle other computing tasks, when other kids struggled with the concept of "booting up" a PC. Traditional line-numbered BASIC uses a completely different thought process (procedural programming) which is nothing like your OOP. In my experience, people have not become any brighter since the 1980s, but the environment has changed and educational institutions are not indoctrinating people with systems of thought and methodologies for which certain existing industrial conveniences, like C++, are already well-suited. It's fine because if you now consider that the students are to be considered objects belonging the class IndustrialProduct, but the new students might be less adaptable to other programming approaches. Realistically, few of us here will be going into the games development industry, so there is no value in the industrial standard (i.e. using C++ so that code is easily maintainable and programmers more replaceable). Also, would McProgramming students be as suitable as myself if they were forced to deal with assembly language programming and had their high-level tools taken away? I really doubt it.

You are a university-level physicist and certain concepts such as discrete mathematics are naturally a piece of cake to understand for you, but they might not be to the hypothetical "complete newbie" who might be a kid or someone who just likes to have a smoke/drink and play Sonic after work, and then one day has a brainwave and becomes enamoured with the idea of making a cool game, and doing a better job of it than the pros. But that person would be able to prepare their game pretty fast and without doing any study on the obscure formal syntax of a programming language, by taking advantage of what's there.

I chose a non-science and non-computing path in my formal education, so what I now know about non-OOP C programming and OOP programming concepts is entirely self-taught and self-directed. OOP is doctrinal, and as someone who has ploughed through Randall Hyde's book it also seems to be an unrealistic representation of what's going on under the bonnet. If you're resigned to using such a high level of abstraction as C++ or Perl or Java, as well as other people's extensive free dev libraries such as SDL to build your game program, what's the big difference with using a Rapid Application Development tool? It's progress. If you prefer C++ and it's the fastest way for you to get things done, continue to use it by all means. But it's not right to recommend it for beginners because your situation is for the reasons given atypical. Whatever you use, it all turns out to be zeros and ones.


The current time is 12:02 AM (GMT)

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.