Help! I'm trying to make a game.
#21 Members - Reputation: 3332
Posted 19 August 2012 - 08:38 PM
As for the language discussion, I strongly recommend C# over C++. You can look through my posting history for an abundance of arguments why.
#22 Members - Reputation: 3715
Posted 19 August 2012 - 11:47 PM
Is it true that you need to know REAL MATH cause I always wanted to build a game, but now I know I have to wait.
You don't have to wait, there is never a reason to wait. There may be reasons to spend time learning the basics but never to wait, Waiting doesn't get anyone anywhere.
The voices in my head may not be real, but they have some good ideas!
#23 Members - Reputation: 523
Posted 20 August 2012 - 04:40 AM
Is it true that you need to know REAL MATH cause I always wanted to build a game, but now I know I have to wait.
Actually knowing the math will most likely make it a lot easier for you to handle a specific problem or find the solution to it much quicker, but that doesn't mean you can't make a game without knowing.
For me, it has always been logical thinking (one can argue it's the same, but hear me out). Before I started programming, the last time I applied math was about 7 or 8 years ago, needless to say that my math was rusty and compared to what people made me believe, under the "required" level of 3D programming, this was true in some way, but I still managed to do my thing by simply taking pen and paper.
Lay out the problem you have and what you want to achieve. Scribble it down and make it a puzzle for yourself. Simple example:
Basic movement and let it stop at a certain point:
Draw 2 points on the paper; one point representing your player and the other one representing your destination. Now imagine moving towards that point, what's happening? You move the player in a certain direction and if it reaches its destination, you stop moving.
Without even using math directly, you already made the program in your head by thinking logically. This is a very basic and simple example, but you can use it in a lot of situations by just making clear to yourself where you are and where you want to be.
Also remember, practice makes perfect. Don't think you will know everything by heart by doing it once or twice, keep programming, keep challenging yourself, try to understand what is going on and what you are doing. And most important of all, do not give up!
Good luck!
#24 Members - Reputation: 451
Posted 20 August 2012 - 01:17 PM
#25 Members - Reputation: 132
Posted 20 August 2012 - 05:54 PM
Well I don't like people stereotyping me thats all.@Kripis One thing you will learn is that when people are giving you advice, you may not like it, but you don't just go call them a dick. I wasn't insulting you, I was just telling you that you aren't the first kid to think like you do and talk about it on this site. And no, you DO NOT know real math, or real computer science for that matter, both of which you need for game dev. I'm not saying give up and wait ten years and get some game development "degree" (which IMHO aren't a good choice. at all), but you do have quite a lot to learn, and by the time you learn it (I'd say a year of dedicated studying with minimal distractions, if you are really smart) you might even decide you don't "love" developing games, because the funnest part of developing isn't working on it, its seeing your finished work. And no, there are not a lot of people who can work on something as trivial as a computer game for a long amount of time. Just enjoy being a kid, and all that entails. Even if you did learn all the things, the time it takes for you to make something would almost ensure that you don't have friends, good grades, or happy guardians. I'm not saying be one of those idiotic mongrels that passes for a "good kid" these days, but still, quaternions, matrix transforms, frustum culling, entropy, data encoding, BSD sockets, function handles, random number generators, Mersenne primes, and a bazillion other topics might be a bit out of your reach now until you learn more. And no, you don't have to learn at the same pace as your educational institution. You can learn on your own, in probably a year. But like I said earlier, you have to be very SMART (not like Derpy Hooves), and dedicated to more than just making some game, you have to be dedicated to PROGRAMMING.
#26 Members - Reputation: 206
Posted 20 August 2012 - 10:38 PM
Being 13 years old, you actually have a major advantage over people like myself - time. You'll probably end up knowing 10+ languages, whereas I probably only got time for half. When you start doing programming professionally, you will most likely learn both C++ and C#, because when you've learned 1 language, it's much easier to learn a second one. Most serious programmers end up knowing maybe 7+ different languages, in addition to knowing mountain climbing, karate, economics, driving a car or whatever. You don't have to worry about not having the time to learn more than one thing. It depends on your focus.
But, regardless of how many languages you know, that's not as important as learning the methodology of programming. Programming science, essentially. How to approach any given problem, make it readable to other people (or yourself), figure out a solution algorithm (recipe) and only then comes the actual language itself with which you solve the problem.
Here's what I would do, if I were you:
1. Figure out which language is more interesting, by getting an introduction to both. (Youtube is your friend.)
2. Simply choose that language. If you can't make up your mind, then just flip a coin and go with what the coin says. If you cannot decide, then neither choice will be that bad anyways.
Good luck and have fun.
Edited by DrMadolite, 20 August 2012 - 10:58 PM.
#27 Crossbones+ - Reputation: 743
Posted 21 August 2012 - 05:48 AM
Edited by MrJoshL, 21 August 2012 - 05:50 AM.
"The only thing stopping you from what you want in the future is what you want right now." - Zig Ziglar
#28 Members - Reputation: 642
Posted 21 August 2012 - 06:42 AM
#29 Members - Reputation: 3715
Posted 21 August 2012 - 07:07 AM
@Kripis I'm not stereotyping you. I don't even know you, so I can assume you act at least similarly to other kids I encounter on the internet or on TF2.
That is pretty much the definition of stereotyping
The voices in my head may not be real, but they have some good ideas!
#30 Members - Reputation: 214
Posted 21 August 2012 - 09:49 AM
Secondly, I'm not going to say you're too young, and you don't know this, or that, because like everyone else here, I don't know you, but I do know that you're making a good 'first' step. I always find it funny how people talk about coding requiring math skills, because in the 25+ years I've been doing it, it's been such a minor part, I felt the math schooling was mostly wasted (in the sense that I don't use it... Learning anything is useful : ).
As for myself, I also started around your age. I taught myself Basic initially, then picked up a C++ book, consumed it cover to cover, and later was able to afford a compiler (Turbo C++ for DOS), and put it to use : ) So I come from a standpoint of, 'I did it, you can too', as to the always-too-common 'I didn't do it, so you likely can't'. So again, I learned C++ 25 years ago, and in my day job, I use C++... It's possible it'll become 'outdated' by the time you're done with school, but it's unlikely, so that's a point in C++'s favor.
However, C++ is fugly... The syntax is fine, and has been adopted just about everywhere else, minus some minor things, like class vs method/variable layouts, but it's an old language, and it shows... Many of the libraries people use, including Windows API's, STL, etc, are all inconsistent, which includes naming conventions. So that's a point in C++'s 'unfavor' heh. Newer languages are more consistent, both in usage (In nearly every newer language, every object is a class, and is always allocated), and in API's. This may seem moot to some of you, and it is to me, but to someone learning for the first time, consistency is great. Even when I learned iOS stuff a few years ago, I was amazed at how clean Objective C was.
As for C#, I glanced at it when it was new, and that was about it, but as a newer language, it's more consistent, and has a lot of MS Backing.
As for Java, Ewww... : )
So in short, it looks like I'll suggest C++, as it's what I use, and it's awesome... But really, my suggestion is simple; learn them all : ) And start with something new. If it was an option, I would say Objective C or Java, because right now is still a really good time to get involved in mobile development... If you're sticking to a PC, I suggest C#, just because it'll be easier to learn, and while you won't have as much... freedom (C++ is still more direct, and C# is mostly Windows based), you can move to the others as needed.
I'll end with a (butchered) quote from one of the few people I worked with that I also respected. 'A Computer Scientist is a problem solver; the language is just a tool'... In other words, someone earlier put it pretty succinctly, but basically, you're learning to solve problems with computer science methodologies; those are the skills that last. The language you use is just the way you do it.
-Alamar
#31 Members - Reputation: 194
Posted 21 August 2012 - 12:01 PM
There's no better way learning than diving in. It's pointless to read books and follow tutorials if you do not apply them practically.
Besides Kripis, you seem to be conflicted with your choices. I remember helping you out with some basic console application in C++ and you barely knew what an array was. I think you have all the tools necessary to start your own small games, this thread has MORE than answered your concerns.
Edited by DZee, 21 August 2012 - 12:05 PM.
I "surf" the web, literally.
#32 Crossbones+ - Reputation: 743
Posted 21 August 2012 - 04:49 PM
"The only thing stopping you from what you want in the future is what you want right now." - Zig Ziglar
#33 Members - Reputation: 1414
Posted 22 August 2012 - 02:18 PM
It is actually possible to make a nice 3D game with no direct scripting and no personal use of math by using programs which do all this for you. Keep in mind that this is in the context of a newbie wanting to make a game and I am not talking about an AAA marketed game.
Knowing how to script programming languages and using math is very helpful to increase capabilities, but there are games which can be made with little or no math by using programs.
3Ddreamer
#34 Members - Reputation: 620
Posted 22 August 2012 - 06:23 PM
Start with building text-based rpg game or whatever, but before you get into 3D and all that stuff, make sure you are familiar with linear algebra and geometry.
Just knowing how to solve for X won't do. You need to know how to describe 3D models in mathematical equations, vectors and much more.
#35 Members - Reputation: 110
Posted 22 August 2012 - 08:55 PM
this is my opinion only.
#38 Members - Reputation: 3715
Posted 23 August 2012 - 02:22 AM
There are still a few companies making games and simulations (gameplay types) in java and it has a huge collection of existing libraries, many open source, so java still is an option.
3Ddreamer
The number of companies using Java (directly or indirectly) for games is growing actually, every single game on Google Play contains atleast some Java code (The entrypoint in an Android app has to be written in Java (Allthough some engines hide that part from you)
The voices in my head may not be real, but they have some good ideas!
#39 Members - Reputation: 237
Posted 23 August 2012 - 04:53 AM
I think you should learn C++ first because it is a low end language and then move on to C# (a higher level language). In fact, many companies require you to know C++ even if you are knot going to use it at all. (My dad's an engineer for example, and he still needed to learn C++ even though he use only Matlab and Fortran and other engineery stuff like that.) I know you said you hate Java, but it is a very important language to learn, especially now, as it is slowly taking over the world through Android and Minecraft
However, if you start to think that C++ is a bit complicated (which it really can be), then I suggest Python. Python and C++ actually have a pretty good combination and you can quickly get out your ideas with Python.
P.S. Maths can be important in games, especially 3d games, but you don't need to be absolutely amazing at it; just learn the core concepts that you require like dealing with forces.
Edited by TheVirtualDragon, 23 August 2012 - 04:59 AM.
#40 Members - Reputation: 170
Posted 23 August 2012 - 09:35 AM
(Forgive me if my response is not the best because i did not read all the posts)
If you want to learn C++ and you want to have your game to be multiplatform then i seggest you
lazyfoo.net it is a very good site to learn how to make games in C++ and SDL, well explained with
great articles on good practices, also if you later want to use 3D it also have OpenGL tutorials.
If you like youtube tutorials you can search for "thecplusplusguy" videos, again C++ and SDL
great tutorials very well explained (the guy have a little uncommon accent but you won't have much
problem for that) he also have a platformer tutorial and a FPS tutorial (3D OpenGL)
I actually am very comfortable with C++ and SDL, they have exactly what i need and i feel they are
pretty easy to pick up and learn.
I hope this post help you somehow.
Good Luck!
Edited by Xirion, 23 August 2012 - 09:37 AM.






