Go Back   Forums > Community Chatterbox > Tech Corner > Programming
Memberlist Forum Rules Search Today's Posts Mark Forums Read
Search Forums:
Click here to use Advanced Search

Reply
 
Thread Tools Display Modes
Old 18-01-2007, 12:53 AM   #31
GrimFang4
Forum hobbit

 
Join Date: Jun 2006
Location: Strafford, United States
Posts: 31
Send a message via ICQ to GrimFang4
Default

It may be obvious that the younger you start programming, the more likely you are to succeed. To be completely realistic, out of every handful of gamers, you'll find someone who has the talent for game development. There are enough people reading this thread to make a handful.

I definitely agree that the said programs ("Rapid Application Development tool" is how you put it; I like that term) are useful for some, but I don't want to limit anyone's design ideas (especially since I haven't heard them yet) by conforming it to one of these programs that aren't fully powered (So don't bother learning Scheme just for games).

C++ is much more than just Object Oriented Programming. Even without classes, C++ adds tons of useful features to C that make certain things simpler. If you know about OpenGL, you probably love C++'s function overloading. Some games are made in C, after all, so since C code works in C++, you don't have to use OOP at all to make games.

Personally, I didn't run into tough math (considering arctan stuff and collision response as tough) until my most recent game. An elementary level math education is good enough for programming some cool things. I just have some problems with the results of most games made without programming. Mainly, they are too similar to one another (RPGMaker as an extreme example).

I choose C++ because at some point, you have to recognize a level of abstraction that has enough power to get the job done while being high enough level so that the job is not too complicated to complete. To put it another way: Assembly language - Too complicated, Specialized Programs - Too weak, C++ - Very close to just right (It's at least in the ballpark when it comes to language quality). It is indeed just zeroes and ones, and that's why modern programming languages exist to fill in the middle ground between tweaking bits and dragging scrollbars.
__________________
GrimFang4 is offline                         Send a private message to GrimFang4
Reply With Quote
Old 19-01-2007, 08:13 AM   #32
carpetsmoker
Forum hobbit

 
Join Date: Aug 2006
Location: ,
Posts: 49
Default

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]
I think that whenever it is feasible one man should write a program.
It will keep the program clean, manageable, and fast.

Note that this MUST be a very experienced programmer, if you have a less experienced programmer bugs and mistakes are more likely to creep in, and then there will be no one around to correct him.

Back to the original question.

I think you should start with an idea, not a programming language.

Think of something to program, don't aim to high, something simple (few idea's: text adventure like adventure or trek, a program to catalogue your games/books/comics/whatever, a RSS reader)

In my opinion and experience it's always best to simply solve problems you're having, for example, I wanted to receive RSS newsfeeds in my mailbox, so I wrote a small program to do so, I wanted an automatically updating forum signature, so I wrote a program to do so. ect.

It doesn't really matter in which language you start, basically they're all the same, it's just the syntax that's different.
carpetsmoker is offline                         Send a private message to carpetsmoker
Reply With Quote
Old 19-01-2007, 04:34 PM   #33
crazedloon
Forum hobbit

 
Join Date: Apr 2006
Location: ,
Posts: 43
Default

RSS feed? What's that? I would have thought "write a program listing all the prime numbers from 1 to 1000" would be a more suitable exercise. This is not just my opinion - this is what's in the GNU C manual, K & R, etc. I think knowing Unix/Linux and internet technologies isn't going to help you write your game (unless it's a network multiplayer game of course).
crazedloon is offline                         Send a private message to crazedloon
Reply With Quote
Old 19-01-2007, 05:08 PM   #34
carpetsmoker
Forum hobbit

 
Join Date: Aug 2006
Location: ,
Posts: 49
Default

Well, this is from my personal experience, I suppose it depends on the person.

List prime number is nice, you "ooohhhh" for a second and then what...? waiting until you discover a new prime number...?

Writing a useful program, one I use every day, is much better in my opinion.
It's ~100 lines, easy to understand, easy to make, and useful, besides that.
It's nor written in C, it's written in PHP, which is greatly undervalued as a general purpose scripting language (almost a drop-in replacement for perl)

Anyway, Writing (simple) useful programs did much more for me than "learning experience programs" .

Quote:
I think knowing Unix/Linux and internet technologies isn't going to help you write your game[/b]
I think it does, for example, my rss to mail script has the following components which could be useful anywhere (including game programming):
- Storing RSS links in an "ad-hoc" ASCII database plain
- Parsing command-line arguments
- Parsing a configuration file
- Error handling (As in: Something better than "This shouldn't happen, goodbye!)
- And ofcourse the usual statements (if, for, ect)

All simple and even trivial task, but all must be learned and practiced nevertheless, I prefer doing it this way, another prefers doing it another...

This put aside, I think that general computer knowledge(unix or otherwise) is always useful when writing a program.
Simple example: Hack (and all deviates such as nethack, angband ect.) have the setuid bit set on their binaries.
Symbolic and hard links can be very usefull in all kinds of situations.
carpetsmoker is offline                         Send a private message to carpetsmoker
Reply With Quote
Old 19-01-2007, 05:31 PM   #35
Mighty Midget
Pox Vobiscum
 
Mighty Midget's Avatar


 
Join Date: Mar 2006
Location: Krakeroy, Norway
Posts: 3,014
Default

The usefulness in writing a program that will find, store and make a list of prime numbers is that you will then search for better algorithms, faster ones. The challenge in factoring numbers is that it is extremly time consuming given large enough products. That fact is the core of cipher algorithms like RSA. An RSA cipher can be broken, sure, but only by factoring N which is the product of two giant primes. I gather that today's N would take a single computer many, MANY times the age of the universe to factor N, but it can be done. Theoretically.

Another thing is the list: If you want to look into primes and their nature, a list of every prime from 2 to [whatever] could prove interesting.

So, all in all I'd say a program like that has its fields of application.
__________________
Je Suis Charlie
Mighty Midget is offline                         Send a private message to Mighty Midget
Reply With Quote
Old 19-01-2007, 09:55 PM   #36
crazedloon
Forum hobbit

 
Join Date: Apr 2006
Location: ,
Posts: 43
Default

This is very interesting stuff. I wonder how much emphasis should be put on becoming a reasonably proficient mathematician. It seems to me that in the field of programming, a strong grounding in maths is necessary to understand all kinds of stuff, such as for instance the JPEG algorithm, or polygon mesh for 3D or even public-key encryption algorithms.
crazedloon is offline                         Send a private message to crazedloon
Reply With Quote
Old 19-01-2007, 10:29 PM   #37
Mighty Midget
Pox Vobiscum
 
Mighty Midget's Avatar


 
Join Date: Mar 2006
Location: Krakeroy, Norway
Posts: 3,014
Default

I believe matematics should be emphasized when dabbling in computers and programming. The field of math and how much proficiency would depend on what you want to use the computer for. You can create programs or games without being a math geinious, but computers and math both work according to logic, and you should have an interest in and appreciation for logic in any case.
Some of the guys involved in the developement of the RSA and other cipher algorithms were into number theory, and maybe number theory will provide some of the insight you'll need if you want to become a cipher-breaker, but I don't think you'd need any number theory to understand JPEG algorithms. Punch-line: It's all about getting into the right field of mathematics. I wouldn't know much about any level of proficiency though.
__________________
Je Suis Charlie
Mighty Midget is offline                         Send a private message to Mighty Midget
Reply With Quote
Old 19-01-2007, 10:54 PM   #38
crazedloon
Forum hobbit

 
Join Date: Apr 2006
Location: ,
Posts: 43
Default

Interesting thoughts. I agree 100% about the necessity of knowing the basics about number systems, because you just can't avoid coming across that when programming, and understanding it helps. But yes, the JPEG standard always involves the DCT-2 transform, and that's something not normally taught in schools here in UK (although I appreciate the situation may be different on the continent), so it's down to what the hobbyist is trying to achieve. In addition, some of the graphics stuff from SVG to 3D polygons require a high level of competence in Euclidean geometry. I take the view that when discussing what's advisable for a complete newbie to programming, although it's "safe" to just dispense the tough answers and say: "learn for yourself what I was taught", it's nice to bear in mind that not everyone has a higher education background in maths/physics, and it's easy to put people off this exciting hobby for life.
I just want to be nice and help people. A really nice forum for people thinking about starting off in game programming is:

http://www.gamedev.net/community/forums
crazedloon is offline                         Send a private message to crazedloon
Reply With Quote
Old 19-01-2007, 11:10 PM   #39
Mighty Midget
Pox Vobiscum
 
Mighty Midget's Avatar


 
Join Date: Mar 2006
Location: Krakeroy, Norway
Posts: 3,014
Default

As for me, I never finished school, so my education is lacking, to say the least. Beside, I'm not sure if I have what it takes in hard core math studies but I like mathematical logic because I believe one can trust the answers, unlike other fields of logic having been presented to me that I found dodgy. About numerical systems (if I understand you right): Yes, that is an obvious fact you'd need to understand numerical systems, being it decimal or binary. I mentioned number theory (which is not the same as number systems) because those fields dabble a lot in primes, the core in modern ciphers.

My level of programming proficiency borders to absolute ignorance however, and for now I need to learn where I will find the "start line". Any help in pointing out exactly where to start to understand rudimentary programming is greatly appreciated. I understand that there is quite a lot I need to learn before I can even consider learning an actual programming language.

EDIT: Thanks a ton for the link. Bookmarked.
__________________
Je Suis Charlie
Mighty Midget is offline                         Send a private message to Mighty Midget
Reply With Quote
Old 20-01-2007, 01:39 AM   #40
Unknown Hero
Home Sweet Abandonia

 
Join Date: Aug 2004
Location: Split, Croatia
Posts: 1,028
Default

i think you should first start in qbasic and create a quiz. then you should go to c++ as soon as possible and start doing some real programming!

good luck!
Unknown Hero is offline                         Send a private message to Unknown Hero
Reply With Quote
Reply


Similar Threads
Thread Thread Starter Forum Replies Last Post
Site With Complete Game Manuals DOS-NOSTALGY Gaming Zone 2 24-02-2006 08:49 AM
Civilization Iii Complete... Eagle of Fire Gaming Zone 30 15-02-2005 12:28 PM
Heroes 3 Complete Loki Gaming Zone 27 28-12-2004 01:37 PM

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump
 


The current time is 02:50 PM (GMT)

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