• Making a game from scratch.
    42 replies, posted
It never hurts to learn any language. Language speed only matters in time-critical code. So if you don't mind writing in more than one language, you can prototype in something you're comfortable with (like Python, Java, etc.), profile and figure out what needs to go fast, and rewrite some things in C or C++. It can get messy sometimes, but it means your choice of (primary) language isn't a huge deal if you're careful about it. My advice is to go with something you're enthusiastic about. It sounds like you're interested in C++, so that should be as good a reason as any to go with that.
[QUOTE=ROBO_DONUT;34315419]It never hurts to learn any language. Language speed only matters in time-critical code. So if you don't mind writing in more than one language, you can prototype in something you're comfortable with (like Python, Java, etc.), profile and figure out what needs to go fast, and rewrite some things in C or C++. It can get messy sometimes, but it means your choice of (primary) language isn't a huge deal if you're careful about it.[/QUOTE] This I agree with completely. A programmer that will only use a single language, is like a contractor that will only use phillips screwdrivers. A pretty stupid way to do things. I disagree with the last part to a degree, not the "primary language part", there you are correct, it doesn't really matter which language you use on a daily basis. As a learning language though, some are certainly superior to others. [editline]21st January 2012[/editline] [QUOTE=Watermelonboy;34315414]Whatever language would be best for a 3d game, similar to Overgrowth.[/QUOTE] To be honest, at ths level it has little to do with language and more to do with engines. When just starting out though, such questions are putting the horse wayyyyyyy before the cart. Truth is, there is enough commonality between languages you aren't going to do yourself a disservice learning any of the most common languages. As frankly, you are going to need to learn to program before you come even close to making such a game.
[QUOTE=ROBO_DONUT;34315419]It never hurts to learn any language. Language speed only matters in time-critical code. So if you don't mind writing in more than one language, you can prototype in something you're comfortable with (like Python, Java, etc.), profile and figure out what needs to go fast, and rewrite some things in C or C++. It can get messy sometimes, but it means your choice of (primary) language isn't a huge deal if you're careful about it.[/QUOTE] I see your point, I just don't want to start confusing one language with another. Another thing, I'm really not comfortable with anything yet, I know the very basics of java, but my knowledge is probably limited to a guessing game in cmd.
[QUOTE=Serapth;34314995]Saying this around you gets you blasted into oblivion, but no, C++ is a stupid language to start with. It's somewhat akin by learning to run using only one leg. C++ is a capable language, but it's not really geared towards learning. Oh, and suffering while you learn doesn't make you more of a man, it frankly just makes you a bit of an idiot. ;) See, there are certain traits that are common to programming, regardless to language, and those things need to be learned, regardless. But if you go the C++ route, you not only have to learn those things, you also have to fight with unweildy concepts like an archaic build system, horrible error messages, fragmented documentation ( soooo many outdated tutorials out there, teaching circa 1984 C++ ), basically have to learn 3 different languages at once ( hell, templates are a turning complete sub-language! ), Byzantine inheritance rules oh and of course memory management, which really isn't the difficult thing people make it out to be.[/QUOTE] The pluralsight training website which has an offer on dreamspark teachs the new C++11 standard and is taught by one of the Microsoft MVPs (Microsoft most valuable programmers)
[QUOTE=Serapth;34315463]As a learning language though, some are certainly superior to others. [/QUOTE]You're assuming that everyone learns the same way, which is absolutely not true.
[QUOTE=ROBO_DONUT;34315512]You're assuming that everyone learns the same way, which is absolutely not true.[/QUOTE] No, I really am not. Saying other languages are easier to learn than C++ is like saying learning arithmetic is easier than learning string theory. I suppose to a few idiot savants it may not be true, but to 99.9999% of the population, it is. C++'s learning difficulty comes from the languages complexity, not difficulty. There is a key difference there. Much as C is much simpler to learn than C++, because C is simpler.
I would suggest starting of with gamemaker 8
You could always try C# with XNA. From what I've seen it can be a very capable combination. I've gathered that C++ isn't an easy language to start off with. Granted no language is easy to start off with when you don't know much, but I'm pretty sure that C# will be much easier to figure out. Once you have your first language down pat, learning another one is nothing compared to the first. But hey anything is possible if you keep at it. Just don't give up cause making games is awesome.
[QUOTE=Darkest_97;34315876]You could always try C# with XNA. From what I've seen it can be a very capable combination. I've gathered that C++ isn't an easy language to start off with. Granted no language is easy to start off with when you don't know much, but I'm pretty sure that C# will be much easier to figure out. Once you have your first language down pat, learning another one is nothing compared to the first. But hey anything is possible if you keep at it. Just don't give up cause making games is awesome.[/QUOTE] You cant say C# is easier than C++ but you can say the syntax of C++ is more complicated than C#. But its good for him cause starting with something hard. Makes you more solid, indestructible.
[QUOTE=ROBO_DONUT;34314928]I've learned a hell of a lot more by googling around randomly (and working on my own) than I ever learned in school. There are some really bright people out there if you know where to look. The trick, though, is to [I]verify everything you read[/I], whether it be by experimentation, cross reference, or simple logic. While some people simply dismiss internet sources as being unreliable, I prefer to think of them as teaching the importance of skepticism and critical thinking, something which far too many people lack. Even old-school dead-tree vetted sources like popular encyclopedias are unreliable, you must always [I]think[/I] about what you're told and whether it [I]makes sense[/I], not just on the internet but in life, too. I'd love to say that everything my professors have told me was 100% factual, but that's not true. They're human and they make mistakes. So it really bugs me when people go bashing Wikipedia and other online sources. :\ @OP: It's definitely an ambitious goal, but not necessarily a bad one. You'll fail a bunch, but you learn the most from your failures, and if you're stubborn enough you'll eventually make a great programmer.[/QUOTE] I'm gonna reply to this because I often say blanket statements like "tutorials suck" and other stuff, but ROBO_DONUT is totally right here. If you're going to go the online route (and this applies to books too, although the quality level is often much higher in those), you need to make sure you find some damn fine tutorials, and make sure you research into what you have just learned. Experiment, verify your findings with code and with other programmers (can be online, a blog, whatever). You learn much better that way, and you can also verify that what you have learned is accurate. As for teachers, try to gauge their interest in programming beyond teaching if you ever take courses. If they've never heard of Github, bug trackers, open source vs closed, licenses, documentation, proper packaging, build artifacts (basically anything not related to actual programming), chances are they aren't updating their knowledge frequently. I can run circles around some of my programming teachers, but I know the good ones that I can reach out to for more serious advice.
I am stuck in an Experimental Game Design class without taking the prerequisite on actually making games in the first-place. It isn't a fun situation. I've got the education to write a client, write a server, write a complex automation, write an operating system, but not to write a game. Everything is so different at the actual logic level its astounding. The first game I made for that class I used the LOVE engine which uses LUA (so you have to find or create your own class metaphor) When I did my first game for this class I sliced numerous update calls in my gamestate into a call to think() 15 times a second (might be a bit low but let me test my interpolation of graphics). Games are at the top level a state machine (menus, actual game play, etc) and under that a 'think' or 'update' loop (normally functions called by a loop in your main). If anyone finds any good tutorials for people in my situation please let me know (that being, knows how to program but not how to make a game). And be careful with learning from existing code, you might pick up bad habits. Apparently I did.
I got a subject called "informatics" at my high school. It was kinda lame and boring, cause it kept on going about web development. PHP/CSS/XHTML/JSS are all a piece a cake. Its been a piece of cake for me for the beginning. So my teacher said, alright, have it your way. Go create a 3D game with C++. And here I am :P. (Never seen C++ before in my life) So to get inspiration and to get feedback I created a page: [URL]https://www.facebook.com/pages/Ingyyyy-Innovations/281826541871900?sk=wall[/URL] It lauched like, 2 hours ago lolz.. But my point is, get people around you that give you inspiration. Just find tutorials/examples of C++. Make a game like TicTacToe. When you are feeling a lill bit comfy with C++. Google "Graphic library C++". Worked for me. I only got lill time left due school tests. Once those are over I can really start to create a game :).
Sorry, you need to Log In to post a reply to this thread.