| (Pages: 1, 2) | |
Gone Gonzo Posts: 1382 Joined: 3 Apr 2008 | |
Gone Gonzo Posts: 2600 Joined: 21 Jan 2008 | Nope, but I hope you know C. From what I've heard, C++ is difficult to learn if you know C, and nearly impossible if you don't... "Programming in C is like shooting yourself in the foot: its hard, and it there won't be too much damage. But, C++ is like using a shotgun: it's harder, but you'll blow your leg off" |
Paperboy Posts: 40 Joined: 18 Jan 2008 |
What? I only took rudimentary courses in a few programming languages, but C++ didn't seem any more difficult than anything else. Then again, I'm no programmer, so I wouldn't know for sure. |
Gone Gonzo Posts: 2449 Joined: 18 Dec 2007 | Alas I do not but It seems like you reallyw ant to make a game. I have a fiend who has made part of a game by himself and it honestly does rival Counter Strike Graphicly wise. So don't give up hope, anyone can mak a game. |
Infamous Scribbler Posts: 696 Joined: 26 Mar 2008 | There is a book called 'C++ for Game Programming' or something like that. It comes with a CD. It's currently gathering dust on my shelf because I keep telling myself I really need to learn it and never do. |
Muckraker Posts: 235 Joined: 23 Apr 2008 |
Incorrect - C and C++ are very closely related (As the names suggest), and C++ is effectively C with a few extra bits bolted on. Now, as for the poster, maybe you can try www.gamedev.net, as I've found them useful for learning 3D programming before. Personally, I don't think C/C++ are hard to learn, although they are harder than Visual Basic (which is only really suitable for prototype/mock-up work). However, if your programming for a desktop machine, you might want to look at Java - it has a similar syntax to C/C++ but is easier to code for 'windows type' Operating systems, although it maybe alittle slower when the program is run. As for editor, try Eclipse - Visual Studio is good, but its not the end all and be all of IDE's, and Eclipse is free with versions for C++, Java, and a few more languages. I do wish you luck, programming a game is tough but you'll get there one day if you stick at it. |
Gone Gonzo Posts: 2600 Joined: 21 Jan 2008 |
I've never programmed for C or C++ (stupid computer teacher just getting us to do Crocodile ICT...), but that's what I've heard. Thanks for the correction. Though, that quote is something I've heard somewhere, though I can;t remember quite where... |
Copy Clerk Posts: 111 Joined: 19 Jan 2008 | Dude, Java is the sux! :) Not to mention that it is an awkward language, slow as hell, and is dying on the vine in many ways. C# would be a much alternative IMHO - it is closely related to the other languages, but is managed, and therefore harder to screw up in. Not to mention that it has tons of support, decent documentation, and a much more stable IDE (than Netbeans - don't ask). Anyways, look on bittorrent - tons of C++ programming books there. While learning C/C++ draw pictures. They are the easiest way to visualize the pointer-object relationships. Start simple, with strings and arrays. Write your own implementation of string library functions - concatenation, search, string/character replacement, etc. These are very common in interview questions. Then, when you can write the string functions in your sleep, move up to linked lists and stacks. Write a double-linked list, and then a vector. Add functionality, and make sure you know how they work backwards and forwards. These pop up on interviews a lot as well. Third stage would be to play with classes. Inheritance, interfaces (abstract pure virtual classes in C++), multiple inheritance. Pops up very rarely, but it will force you to really learn what is going on there. Finally, the fourth stage would be COM. Once again, start simple by creating basic COM objects, implementing standard interfaces... Crap, sorry, I am venting - taught C/C++ for a while (second job - drinking money), but now I am stuck with intro to programming with javascript. :P |
Beat Writer Posts: 155 Joined: 25 Mar 2008 | I know some guys in the computer science sector of the engineering building, and from what they say Java is like C with training wheels. This is a second person relation of the ease of Java, so don't turn me into a pariah if Java is actually next to impossible. My major made me take a C programming class which I thought was pretty fun since I thought of every project as a giant puzzle. But on the whole it was pretty much a lesson in frustration for a whole day while at a computer lab, then a moment of realization, followed by 2 hours of frantic coding, then another hour of debugging the stupid fucking scanf command. Every single thing that has ever been wrong with a program I submitted for grading is an issue with not verifying the right information, but that's neither here nor there. But the sum of the whole situation is that I learned programming sucks when you do it by yourself, as any problem is made a hundred times more simple when someone else checks over your program. With that said, sadly I'm in the states and the furthest I've gotten is how to make programs to do my bullshit menial tasks for me, such as circuit analysis etc. It'll be damn good when I', working on a senior project, but it's way not enough to build together a game. When someone in my calc class told me that C was a cool language to learn because WoW and other games use it to code their games, my first thought was "You can use C to make a game? Since when can it make graphics? How come I never learned this? Wait, shit, vector formulas. Yeah screw that, I'll stick with building guitars and stuff." So unless you want to hear anecdotes on my lackluster programming skills, I'm pretty much worthless. And besides, C and C++ are completely different things. |
Muckraker Posts: 235 Joined: 23 Apr 2008 |
C# is microsofts attempt to copy Java's virtual machine form of translation. Whilst I agree Java is abit awkward in some ways, I doubt C# is truly at machine-independent language. That said, I haven't tried C#, so it could well be 'da bomb' so to speak, but I do sigh whenever microsoft rip stuff off and try and act like they invented it. Anyway, to answer Franco, yes, thats about right - Java is like C++ with training wheels, although its alittle more involved than that in the real.
Ah, not so good - although Javascript is abit different from Java (proper Java), I think. |
Copy Clerk Posts: 111 Joined: 19 Jan 2008 |
You are probably right about the inception of C# - but that doesn't mean that it is worse than Java. And it doesn't really try to be machine independent that hard. A version of it is available for Windows Mobile, the 360, and there are several efforts going on right now to port it to Linux, but from what I know they haven't gotten very far yet. Don't care who invented it, but it is a better attempt. Instead of trying to be everything to everybody, C# sacrifices portability to performance and interoperability with Windows-based unmanaged code. The thing is that IMHO it is a much cleaner and freer language, closer to C++ in syntax, and thanks to its comprehensive code library and interoperability with Windows APIs, more powerful. I could be a bit biased since I wrote some documentation for a couple of C# namespaces, but having worked with both Java and C#, and experienced the pain of developing on Java, I much prefer C#. :P
Oh, totally different - I just meant it is dead boring. If Java is C++ on training wheels, Javascript is Java on training wheels. :) Only one variable type (var), barely any classes, etc. It is a scripting language for HTML, and not designed for anything more complex than that. |
Press Junketeer Posts: 355 Joined: 27 Mar 2008 | C++ for dummies get it. The for dummies series has a great simple way of describing everything and personally i am a fan of them. |
Beat Writer Posts: 173 Joined: 5 Mar 2008 | All the stuff listed above is why I dropped my programming class in highschool, avoided it in University, and decided to put my creativity into (attempted) novel writing. Halfway through grade 11 I realized that I want to play games, not make them. I'd spend 20 hours to make a program that allows you to do something like make a shopping list (yeah, waaay better than using a pen). Anyway, I'd say that the suggestions people have given you are good. I'd really recommend taking a course somewhere. Something that forces you to sit there for hours with an assignment that has a deadline. If you love it, great. Dive in 100% If not, move on to something else. You can't be half-assed about learning to program (at least I couldn't). |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 |
Hi Kitten, I'm a professional programmer, and I've written some small games in my time. If you want to crack a shot at an independent game you have a few options. 1) Learn C++ and Direct X. This would be nearly impossible without some books or good tutorials. Direct X is a very complicated library and is not really that great to code in. There's lots of loopholes you have to jump though. 2)Use a library like XNA, SDL, or something else. SDL is called Sample Direct Media Layer, and is a library built on top of C++ for the sole purpose of game development. It's pretty nice, I have a book on it. XNA is Microsoft's game development toolset basically. You'll be coding in C#, but it's really easy to use quite frankly. I just started using C# 4 months ago because I got a job in the RFID market and the software used it. It's not bad, I don't know why everyone hates it. 3) Just code out your own engine from scratch. This will be hard, regardless of the language you use, but you will learn a ton. ------ I just want to say to everyone above Java may be slower due to the virtual machine, but it's not a bad language. It's really good for LEARNING on, since it takes care of garbage collection, and you can easily pick up on key concepts like inheritance and overloading and polymorphism without having to worry about all the redtape that comes with C++. Java is NOT a bad language, and since 5.0 it's not even that slow any more. Granted, it will never be as fast as C++, but I'm tired of people putting down Java for what is essentially made up reasons. Also, a true programmer does not know languages, you know programming, you know the science of computing. All OO-languages have the same core features (okay, most of them). They all have loops, conditions, most have pointers/references, inheritance, and all the other stuff. You should be able to pick up a new language in about 2 weeks, just getting over syntax stuff and little nuances in the language. |
Beat Writer Posts: 161 Joined: 24 Mar 2008 | DirectX can be very confussing, and its not a free is you want to distribute your game. I think openGL would be a better graphical start, and then move to directX. I agree with learning C++, but patience is going to be the key. It can be quite hard to begin with, especially if learning on your own. Why C++ and not C or java etc? Becuase C++ is powerfull, and is more of an industry standard. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 |
I would agree with this. |
Paperboy Posts: 20 Joined: 9 Nov 2007 | To learn how to program just to make a game is an enormous feat. I would recommend not doing it. Learn how to program because you love programing, not to make games. There are a couple of programs out there that you can make really interesting games with, like game maker, and the very indie-dev popular torque engine. I would start there, or maybe even try some moding. I took programing classes for two years, and let me tell you. Programmers are a special bread of people who are masochists. Look up the IGDA and try to go to local chapter meetings, and look for game developer meet up groups around your area. Basically find the crazy person that actually tolerates programing. I mean does any one really enjoy it, every one seems to hate it. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 |
I absolutely love it, and would not want to be doing anything else with my life. Except maybe winning the lottery and just being rich as hell and not doing anything all day.... or a being a supermodel rockstar astronaut. Saying programmers are masochistic is true. We push ourselves to incredible lengths, especially nearing a product release, but we love what we do; and there's one reason why: A Programmer should love to create. Just like an artist loves to create. We love to see things work, to see what sometimes seems like an insurmountable pile of symbols, syntanx and the occasional hack turn into this useful, working product. The feeling you get when the damn thing just works is amazing. |
Gone Gonzo Posts: 3429 Joined: 23 Dec 2007 | Python? This stuff is all code for me, or Greek for non-programmers. I can't understand a lick of it. Apart from the tenuous grasp I have on the jokes on xkcd. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 |
Python IS sort of weird, simply because it's not a C style syntax. It blew my mind that whitespace mattered too (tabbing in an IF statement.. what the hell??!) |
Paperboy Posts: 15 Joined: 25 Feb 2008 | Try Blitz3D instead. It's a lot easier than C++ and it will allow you to make professional looking games with enough time and dedication. I'm always playing around with it. |
Paperboy Posts: 36 Joined: 9 Apr 2008 | Try learning Pascal? You could step from there to C / C++ |
Paperboy Posts: 30 Joined: 26 Mar 2008 | I'd say it depends entirely on the game you want to create. I wouldn't recommend starting with C or C++, since you'll have to learn about how to manage memory. It's way too easy to have a C/C++ program bomb at some random point due to a flaw many lines away. Neither language hold your hand for you, making learning using them more difficult than other languages. Trying looking at pygame - I've never personally used it, but it's free and works under Windows along with a bunch of other platforms. The honest answer, though, is that learning programming by writing a game is a bad idea. Pick a language to learn, and learn it first. Then you can start picking up the libraries required to actually create a game. The pygame newbie tutorial has some suggestions on how to pick up Python. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 |
Auto pointers forever!!!!!! |
Gone Gonzo Posts: 1552 Joined: 7 Mar 2008 | i don't know c++ tho if you hum a few bars i could definitely wing it :) |
Anonymous Source Posts: 7 Joined: 25 Mar 2008 | I would strongly recommend the book Accelerated C++: Practical Programming by Example by Andrew Koenig and Barbara E. Moo. Check it out at http://www.acceleratedcpp.com/ |
Beat Writer Posts: 131 Joined: 29 Apr 2008 | There are plenty of online tutorials that will get you started on the basics of C, C++, C#, Java, or what ever you want to learn (so long as it is not BASIC :P). I went the 4 year Computer Science degree path so I can't really vouch for learning programming from scratch on the web. Once you know the basics of command line programming (think old school DOS). You should look into a graphic Library. DirectX, as mentioned above, is the industry standard. It competes with OpenGL which at times seems more academic than business oriented. Then there are a bunch of 3rd party libraries, my favorite being Allegro. I have used OpenGL, DirectX, and Allegro to make software in the past. Of these three the easiest to use is allegro. It is an open source library that is maintained on Windows, Linux, and Macintosh. The main allegro community site is at http://allegro.cc . There you can find tutorials on how to set up the program and examples of how to use allegro functions to do all aspects of 2d game programming (graphics, user input, and sound). If you want to go 3d you would be best served by OpenGL or DirectX, but they are not as easy to learn. Finally a word to the wise: Your first project should be some thing simple, like Pong or Tetris. You may have a great idea for a game you want to make right now, but attempting to make the successor to World of Warcraft as you first project is tantamount to a baby who doesn't know how to walk challenging a master swordsman to a duel. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 | ^ohhhhhhh, I can't believe I forgot about Allegro!! |
Beat Writer Posts: 160 Joined: 7 Jan 2008 | Well, I sure can't help you by being in NZ or knowing C++ well, but I can mention that there are a number of game structure freeware things that can be used to structure a game before making a leap to full-fledged programming. Most of them are Choose Your Own Adventure type things, which are hard to incorporate graphical elements into, but simple RPG type mechanics are easily learned. Also, there're lots of examples to learn from. The one I used, oh-so-many years ago WHILE I was taking a "computing for engineers" class was called TADS, for an English class CYOA game project based on Jorge Luis Borges (Don't ask). This was of course, drastically different than MATLAB, which is what I was being taught. (MATLAB is similar to a stripped down C++, focusing on array calculations for engineering. Ick) Depending on what kind of game you want to build, the best starting point might be Java or Python for something simple like a Pong clone or a combination of multiple elements from different systems. I will warn you by saying that if you don't like vector math, you're better off trying to find a simple game builder than leaping headlong into C languages. Side note: an h-game would be the easiest game to program for beginners of any. This is not to say I encourage that. :P |
Anonymous Source Posts: 3 Joined: 12 Jun 2007 |
This isn't meant as a flame, just clearing up some things. Javascript is actually a pretty versatile language that includes many OOP concepts like encapsulation, polymorphism, inheritance, etc. Objects can have private, public and protected members and methods just like any other OO language. With JS, I can tell you the voltage going through your northbridge -- so, it is more useful than just a HTML add-on. To the OP: Not sure if anyone has mentioned this, but check out www.gamedev.net. There is quite a support community there for beginning game developers. |
Copy Clerk Posts: 121 Joined: 12 Feb 2008 | I just want to say this thread was a big help for me. Thanks to all that participated. I failed many CS classes and am teaching myself now. I recommend buying a C++ book from a university and doing all the exercises for each chapter. Take your time, but do it on a schedule. Just like lifting weights, you must do it 4 times a week with out exception. Over time you'll be yolk.:) |
Copy Clerk Posts: 60 Joined: 9 Mar 2008 | Most of the important things have already been said. In the end I think that it doesn't matter whether you learn C++, C# or Java for your first project. I doubt that you'll reach the level where the performance differences would matter much. And if you do, you're surely good enough to pick up the other languages in a relatively short amount of time, because as AC10 said: All the object-oriented languages are very very similar and you're not really learning a language most of the time, but you're learning to program in an object-oriented manner. So, switching from C++ to Java or C# for example is really easy. The only real difference is that you don't have to bring out the garbage anymore, as Java and C# include an automatic garbage collection. From Java or C# to C++ could be a bit more of a challenge as you suddenly would have to clean up yourself. The most important advice probably is to keep it simple. Do a really tiny game first. This might sound simple, but is really hard to do (for me at least): I've scrapped several projects, simply because it became obvious that their scale and demands simply were too big, either from a programming perspective or from a manpower point of view. Also, if you want to go 3D: Aside from learning DirectX or OpenGL or using any one of the free engines out there: Learn the math behind it. Do yourself a favor and learn the math. You will need it, time and time again, and it won't go away, even if you use a 3rd party engine. |
Gone Gonzo Posts: 3344 Joined: 24 Apr 2008 |
from Xkcd.com, thought it was pertinent here... that said, if your looking to test concepts, try Darkbasic or something similar. |
Copy Clerk Posts: 72 Joined: 28 Apr 2008 | I hate VI, there I said it!!! I DON'T TAKE IT BACK!!! |
Paperboy Posts: 13 Joined: 30 Apr 2008 | ...am I the first one to say I know C++? I started off in Python, and that was just childs play compared to C++. I LIKE tabbing my lines! If you want help buy some books, do not use online tutorials, as they suck more dick than a whore off the streets. I'd recommend using Python first to learn about ;import, if-then, if-elif, loops, and object oriented programming. When you're done, you'll have a lot of basic and important C++ knowledge. I'm not the greatest C++ dev, but I make it by on writing on simple programs. |
| (Pages: 1, 2) | |
|
|
hey guys.
does anyone here, preferably in australia or new zealand know c++
or failing that a good online tutor that will let me create games
thanks