The message you selected is no longer available for viewing.

--- Newbies --- Come here before posting! Revision 4

#1CheezmeisterPosted 7/20/2007 7:56:41 PM
First off, congratulations, newcomer. By reading this before posting, you have just saved yourself some time, made our day a little better and proven to be smarter than half of the internet!

When posting, please put a specific summary of the problem in your topic and expand in your post. If it’s errors in code, please post the errors, and the code. If you have a lot of code, it’s easier to use: http://hashasp.mine.nu/paster/ or http://rafb.net/paste/

Also, if it’s not too much to ask, Google it first! We cannot emphasize this enough.

If you’re new to programming, before creating a “help me get started” topic, please look through at least one of these:

http://geocities.com/dragontamer5788/programmingfaq.txt
http://rav.realitybytes.tk/newbies
http://patrickavella.com/fornewbies.shtml
http://patrickavella.com/proglinks.shtml
http://www.christopherhiggins.com/links.asp

All of these links get dropped in every general beginner’s topic, and they're excellent resources. If you don’t take the time to check this great stuff out before posting, you will only be told the truth: you’re probably not cut out for programming, because if you want to succeed with it, you’ll need to be willing to do things for yourself, and to devote a lot, and I mean A LOT, of time to developing your skills.

Great, you now know what’s ahead of you. To business.

.-*Frequently Asked Questions*-.

Q: What language should I learn first?
A: The short answer: C++.
The right answer: There are many opinions on what to start with, and each is valid. You’ll get “C++ because you might as well start with what you’ll use in the game industry”; “C because it teaches you what goes on at the lower levels and will help you code more efficiently later”; “Java because it handles mundane stuff like garbage collection for you”; And so on. What’s important is learning the concepts, not the languages, of programming. Generally speaking, barring joke languages like brain****, you’ll get the same result no matter where you start.

Q: Does anyone want to help program this game?
A: If you have a problem and want help, post your troubles here. We are generally willing to help you look for bugs and give advice on design. However, we will not "work" for you. Do not expect us to join your team. Believe it or not, we all have our own projects we’re working on, in addition to school and/or work (if anything, consider joining someone else’s project). Some of us are professionals who are literally paid for their work, so if you’re not offering money, don’t expect help. Instead, expect most, if not all, requests, to be ignored. If we want to code for a stranger for free, we’ll ask. :)

Q: How do I just make a game without learning all of this technical ****?
A: If all you want to do is design, you have a few options. It’s possible, though unlikely, that you can find somebody who is willing to code, and knows how, who will work with you (see previous question). Programs such as GameMaker, RPG Maker etc. offer a relatively code-free way to create a wide variety of games. Alternatively, you could find an existing game that’s well-suited to modding, such as Half-Life 2 or Quake III. But the only way to truly have full control over what happens is to program your game from scratch.
(sig means end)
#2Cheezmeister(Topic Creator)Posted 7/20/2007 7:57:04 PM
Q: What’s a good game design college?
The general consensus is that it’s not a good idea to attend an “exclusive” school like DigiPen or Full Sail, mainly because they don’t leave much room for a backup plan if game design doesn’t work out for you—which is extremely possible given the fickle nature of the game industry. We feel it’s better to major in a broader subject that holds your interest, such as Computer Science in the case of programming, and to develop a portfolio of games on your own time. You will actually look better to employers if you programmed your own work because you wanted to, not for homework; and a background in CompSci lends itself to a host of other options in case you lose interest, or fail to make it, in game development. For more information, check out
http://gdapfaq.wikidot.com/college

Q: Where can I get a compiler/interpreter/IDE for xxx language?
A: There are plenty of free tools out there. Use Google & Wikipedia to determine which one is right for you. We’ll tell you which ones we use if you must ask, but the “best” one is just as nonexistent as the “best” beginner’s language.

Q: I’m tired of guess the number games!
A: That’s not a question, but if you aren’t just being impatient and feel you have a strong grip on coding, you’ll need a graphics library to put some pretty stuff on screen. Right now, the big three are SDL, OpenGL, and Direct3D (part of DirectX). The former is well-suited to graphics newcomers in that it isn’t mathematically demanding, and it also handles things such as creating a window, interpreting keyboard input real-time, and playing sound. DirectX is still the industry standard in professional games, but it takes a bit more effort to accomplish things, and it’s Windows only.

A: Me and my friends have this great idea for an MMORPG—
Q: Stop. First that’s incorrect grammar. Second, MMORPGs are currently the epitome of complex games, and even with a team of experts, it takes years to complete one, because these projects are expensive, and they are massive (it’s in the name!). Unless your “friends” are 10 programmers, 10 composers/musicians and 20 artists, who each have a decade of experience under their belts, and plenty of cash, set your sights much lower. You don’t have to throw out your idea (and you never should), but don’t expect to see it come to fruition after a week of hanging out in your friend’s computer room. We’re sorry, but there’s a reason WoW has a monthly fee…besides Blizzard’s world-domination bent, that is ;).

Q: Why did you switch the Q and A before?
A: Just to see if you were still paying attention.

Q: Okay, I’m willing to put in the time and I know I have the skills required. Where can I actually find what I need?
A: If Google isn’t playing nice but you know what you’re looking for, we have a handy collection of links of all shapes and sizes. Read on.
#3Cheezmeister(Topic Creator)Posted 7/20/2007 7:58:49 PM
.-*A Maelstrom of Links*-.

The computer ultimately knows two words (1 and 0), but it’s rather inefficient to program in binary ;). Programming languages are essentially a shorthand for the most common things you’ll be telling the CPU to do. Everyone thinks they have their own way to solve the problems of the language and make the perfect "computer language.” Said perfect language has yet to emerge. Here are some of the more popular options.

C++
C++ has become THE language for game programming. It is what most users of this board use and is very powerful, but it’s also easy enough to begin with. Our list of recommended C++ resources can be found here:
http://gdapfaq.wikidot.com/c#resources

Java:
Along with C and C++, perhaps one of the three most common high-level programming languages in use today. "Write once, run everywhere", as they say. Our list of recommended Java resources can be found here:
http://gdapfaq.wikidot.com/java#resources

VB6
Visual Basic 6 and earlier are designed for Rapid Application Development (RAD). VB6 is a useful tool for quickly writing applications designed to carry out some task, and it is very useful for writing a database driven application. The syntax is also very similar to VB for Applications, or VBA for scripting MS Office applications, and VBScript can be used to write client or server side scripts for webpages. Our list of recommended VB6 resources can be found here:
http://gdapfaq.wikidot.com/vb6#resources

Lisp/Scheme:
Lisp was a revolutionary language for its time, and had its heyday back in the 80s. It is good for AI usage and rapid development. It is also a very fun language to play with, and there are a few concepts that can only be told in Lisp and similar "functional" languages. Our list of recommended Lisp resources can be found here:
http://gdapfaq.wikidot.com/lisp#resources

VB.net
VB has seen a major overhaul in the .NET architecture. It now supports all the usual object-oriented features of an OOP language. It's good for RAD development and database applications, and DirectX bindings make it a decent choice for 2D games. Our list of recommended VB.net resources can be found here:
http://gdapfaq.wikidot.com/dot-net#resources

Assembly
While most claim this is an obsolete language by now, it serves a few rather important purposes.

1. It is the language the CPU speaks itself.
2. As the CPU's main language, you have unrestricted power
3. If you are an expert, you can beat C code in terms of speed and size.
4. Best reason of all: Learning to optimize in assembly gives you a base for your HLL programming. You learn what is going on behind the scenes, the "easy optimizations" that you can assume the compiler does for you, and the "hard optimizations" that you know you have to do yourself. Our list of recommended Assembly resources can be found here:
http://gdapfaq.wikidot.com/assembly#resources

General (Language Independent) Resources:

There’s plenty of knowledge (and indeed code) that can be applied to many languages, and this is perhaps the most useful type. Our list of recommended general resources can be found here:
http://gdapfaq.wikidot.com/general#resources

Thats about it. Please add your comments/help on now.


Contributors
Trizor – creating and maintaining the original two revisions
Dragontamer5788 – adding to the third revision
kanato - VB and VB.NET info
cmr (Christopher Higgins) - his newbie links
Skel (patrick avella) - his newbie links.
Luminion - DirectX info

---
You are now reading the shameless plug for Cheezus.
ftp://ftp.futureware.com/cheez/InstallCheezus.exe
#4Cheezmeister(Topic Creator)Posted 7/20/2007 8:09:03 PM
bumpity!
*busts out champagne and cheez to celebrate...hopefully....the next sticky*
---
You are now reading the shameless plug for Cheezus.
ftp://ftp.futureware.com/cheez/InstallCheezus.exe
#5Nova666Posted 7/20/2007 8:10:20 PM
O__O

*loads flamethrower*
#6Jet082Posted 7/20/2007 8:55:51 PM
Always good to have more information available.
---
Buddhism for the win!
#7Cheezmeister(Topic Creator)Posted 7/23/2007 3:51:47 PM
Keep bumped please.
---
You are now reading the shameless plug for Cheezus.
ftp://ftp.futureware.com/cheez/InstallCheezus.exe
#8samuskicksa55Posted 7/23/2007 7:28:50 PM
http://gdapfaq.wikidot.com/
--(Mostly) The same info, only with organization and stuff.

---
Current projects: www.omegagames.net, Project Lunar, Project Galaxy, Project Heaven 2
Wii Number: 2434 9129 7286 9409
#9Cheezmeister(Topic Creator)Posted 7/23/2007 7:35:42 PM
Oh right samus, notice I added little bookmarks to "resources", so if/when the wiki expands to have too much not-link information, that's covered :D.
---
You are now reading the shameless plug for Cheezus.
ftp://ftp.futureware.com/cheez/InstallCheezus.exe
#10Dragontamer5788Posted 7/23/2007 11:59:08 PM
I endorse this thread. :-) Well done.
---
Never directly ask for help on a Linux forum. First, complain that windows something not on Linux, THEN someone will "teach you the ways of Linux"