Sign in to follow this  
Kripis

Help! I'm trying to make a game.

Recommended Posts

Hi I'm Kripis and in the future I want to work as an indie game developer (I'm 13) but I'm stuck, C# or C++? I know Java a bit (watched over 70 tutorials from "thenewboston" and over 20 of C++) I like C++, HATE Java so that one is off the table but there's C# and while they are similar I've heard it's better, I've also heard that C# is faster at getting your games finished, well my big question is keep going with C++ or stop and go for C# while it's still early (only 20 C++ videos).

Share this post


Link to post
Share on other sites
Thanks for the answer but the type of answer I want is not "go with the one the you like" I want an "Go this because of this and NOT this because of this" type of answer I want many opinions like that, please! Edited by Kripis

Share this post


Link to post
Share on other sites
Okay i'll take a shot in the dark then, I can't tell you which one to go with, because that depends on your dedication and project aim, but I definitely lay the cards on the table.

Do you want full control of your game? Do you need to manage memory yourself, rather than letting the system manage it? Do you want it to run on multi-platforms? Then I'd choose C++, if we compare it to C#, C++ is a lot steeper learning curve, however, if you use the right libraries your application can be cross-platform, run faster (in saying that though, the speed difference probably isn't that noticable, it'll probably be more noticeable the larger the application is), industry standard for the most part, so learning C++ you can be safe in knowing its used throughout the industry.

C# is a Microsoft product, and while the language is very nice, it holds similar routes to Java, so if you hate Java, its likely you'll hate C#. However, its faster to get games out on the table, since you dont need to worry about memory management, and if you use XNA, boilerplate Windows and DirectX code (Also allows you to release for the Xbox). So there is always that route. As far as I know, so don't quote me on this, C# will only run on Windows, due to the CLR, so cross-platformability is dead in the water if you want to release for other platforms.

But, there just the cards, I can't tell you what to do, because thats your choice, and I don't understand your goals/aims/dedication enough to reccomend one over the other, and if I did, it would't always be clear cut, go with what you decide is best.

[b]"The problem with the answer you are looking for is that all languages are good in their own way, even for making games. Sometimes people totally miss that the concepts of programming are more important than the language choice for learning."[/b]

This is a good reply, because its true. Dont look at the language features, but instead, look at what you can do with it. And good luck.

[b]"The other thing is about your age, you are quite young, so the industry standard might change by the time you are 20 or something, that's knowing the principles of programming is better than focusing on a language, it means you can pick up any language that happens to come along."[/b]

And another, C++ is industry standard now, but whose to say this wont change. Learn one language, it becomes easier to traverse that skill and knowledge to be easier, I learnt PHP and then moved to C++ with relative ease having learnt PHP and its object orientated route. So it really doesn't matter that much. Edited by theark

Share this post


Link to post
Share on other sites
You are currently 13. So I will tell you why I think you should master C++ in the next 5 to 7 years. It might not stay the industry standard that long, but learn it still because it is a language which teaches memory management and pointers which some other languages hide.

After you have learned the c++ language you should learn application programming interfaces like OpenGL, OpenAL TCP/UDP sockets and some higher level like Ogre3D, SDL, glfw, etc. Once you are comfortable programming with c++ you can quite easily pick up other languages.

You have lots of time on your hands you can use to become great programmer and before you need to support yourself. Use this time well and you can build your indie game business already at 16 to 18, but still remember to hang out with your friends so you wont become unsocial like me, because you really most likely will not need to start your business until you are over twenty.

I remind you that knowing a programming language is not enough to create the next best seller.

Share this post


Link to post
Share on other sites
Go with C# and get a few games under your belt. Try XNA with C#. Youll be able to learn the concepts of game design faster and not struggle with the complexities that are the C++ language.

Then once you have some titles COMPLETE, attempt learning something more complex with C++.



EDIT: Not sure why I got - 1, the OP obviously wants hard opinion on a direction, so I gave it. Edited by tharealjohn

Share this post


Link to post
Share on other sites
You probably won't understand most, if not all, of the things you need to know to program a computer game. I would say you need to wait at least a couple of years, as you definitely NEED Algebra I and II and Linear, but Calculus does come in handy (not COMPLETELY necessary, but almost). And that is only for the graphics part (which is surprisingly only a small part of programming a game, about 10%). You definitely aren't the first kid out of your age group running over here for advice to implement their "great new idea."

Share this post


Link to post
Share on other sites
[quote name='MrJoshL' timestamp='1345388451' post='4971113']
You probably won't understand most, if not all, of the things you need to know to program a computer game. I would say you need to wait at least a couple of years, as you definitely NEED Algebra I and II and Linear, but Calculus does come in handy (not COMPLETELY necessary, but almost). And that is only for the graphics part (which is surprisingly only a small part of programming a game, about 10%). You definitely aren't the first kid out of your age group running over here for advice to implement their "great new idea."
[/quote]

And won't be the last ;)

Share this post


Link to post
Share on other sites
[quote name='MrJoshL' timestamp='1345388451' post='4971113']
You probably won't understand most, if not all, of the things you need to know to program a computer game. I would say you need to wait at least a couple of years, as you definitely NEED Algebra I and II and Linear, but Calculus does come in handy (not COMPLETELY necessary, but almost). And that is only for the graphics part (which is surprisingly only a small part of programming a game, about 10%). You definitely aren't the first kid out of your age group running over here for advice to implement their "great new idea."
[/quote]I'm sorry I'm trying to establish my future now, based on what I love NOW and another thing, I'm not running around asking how I should be making my great game I'm simply asking what tools I should use for the near future. Dick.

EDIT: Oh and btw I know Algebra, I don't know how much but a fair bit Edited by Kripis

Share this post


Link to post
Share on other sites
[quote name='Kripis' timestamp='1345393212' post='4971133']
[quote name='MrJoshL' timestamp='1345388451' post='4971113']
You probably won't understand most, if not all, of the things you need to know to program a computer game. I would say you need to wait at least a couple of years, as you definitely NEED Algebra I and II and Linear, but Calculus does come in handy (not COMPLETELY necessary, but almost). And that is only for the graphics part (which is surprisingly only a small part of programming a game, about 10%). You definitely aren't the first kid out of your age group running over here for advice to implement their "great new idea."
[/quote]I'm sorry I'm trying to establish my future now, based on what I love NOW and another thing, I'm not running around asking how I should be making my great game I'm simply asking what tools I should use for the near future. Dick.

EDIT: Oh and btw I know Algebra, I don't know how much but a fair bit
[/quote]

1. Real math is nowhere near 13 years old ( you will get to learn it as you study so don't worry ) you can also look on http://www.khanacademy.org/ they have great tutorials on mathematics .
2. I started out with "Beginning C++ Through Game Programming" by Michael Dawson which covers the basics really good and also adds a little taste of game programming .
3. C++ vs C# : I use C# for desktop applications since they need to be done fast and they usually don't require so much optimization and I keep C++ for games ( though I'm a beginner in game development ) since I can take my time at games (because it's just a hobby at the moment ) and also they need to run smoothly .

Share this post


Link to post
Share on other sites
@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. Edited by MrJoshL

Share this post


Link to post
Share on other sites
[quote name='MrJoshL' timestamp='1345405192' post='4971188']
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
[/quote]

Good point, I don't pretend i'm an expert.. if I was, i'd be too arrogant to come here for help. You see, his point is, your young, and your aspirations will change. I can admire that you have a little fight in you for wanting to develop games, but it takes a lot of work (That isn't saying you arn't ever or ever gonna be good enough to make games, its just the fact of life. Even experienced developers find making games tough). This is going a little off topic from what you asked, so i'll keep it brief. Take advice, good or bad, you may not like the forthright ones, but I find sometimes they can be the ones to give you that advice that sets you off.

Good luck.

Share this post


Link to post
Share on other sites
[quote name='MrJoshL' timestamp='1345388451' post='4971113']
You probably won't understand most, if not all, of the things you need to know to program a computer game. I would say you need to wait at least a couple of years, as you definitely NEED Algebra I and II and Linear, but Calculus does come in handy (not COMPLETELY necessary, but almost). And that is only for the graphics part (which is surprisingly only a small part of programming a game, about 10%). You definitely aren't the first kid out of your age group running over here for advice to implement their "great new idea."
[/quote]

Thats a bit harsh, you don't need more than extremely basic algebra and a bit of trigonometry(allthough for some games trig isn't needed either) to make a 2D game, and that has normally been covered in school by most 13 year olds, (i made my first 2D game when i was 12 using pascal/BGI and my first properly polished 2D game when i was 13 with pascal/x86 asm, it wasn't easy but it was doable, Yes, for 3D games it [b]helps a lot[/b] to know linear algebra (it is not necessary though, with solid trig knowledge you can get things working anyway and today there are tons of helpful libraries that abstract away alot of the really nasty math for you, There is also absolutely nothing that prevents the OP from picking up any additional math he needs/wants as he goes along, If he has a decent math teacher he/she will be more than happy to help him out if he has math related questions. (and if his math teacher is crap or far too busy to help students learn(allthough, atleast where i'm from it is a teachers job to help students learn) there are tons of helpful people here on gdnet who can help)

There is no reason to wait, just jump in and get started, he has far more time now when he is young than he'll have later in life. Edited by SimonForsman

Share this post


Link to post
Share on other sites
@SimonForsman I never said there was a huge barrier. I just said that it would take about a year probably, and he needs to find out if he is even interested enough. That is my point in a nutshell.

Share this post


Link to post
Share on other sites
I think you can make it with Unreal3. Because no one can solve all the problems. I'm only 15, so I never wanted to develop a game by myself.Good games require good teams. But if you really want to learn a programming language.C# is better.

Share this post


Link to post
Share on other sites
[quote name='YASSImaN' timestamp='1345428185' post='4971293']
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.
[/quote]
Depends on what game you want to make, if you are aiming for a 3D shooter or such you'll need a solid knowledge of linear algebra and geometry, but if you're just making a tetris or a simple 2D game, some basic coordinate geometry and logic will do.

Share this post


Link to post
Share on other sites
If you're still learning how to construct programs effectively (or haven't even gotten there yet), then don't worry about the math background yet. You have some time before you're at a point where your programs are complex enough that the math would make a big impact.

As for the language discussion, I strongly recommend C# over C++. You can look through my posting history for an abundance of arguments why.

Share this post


Link to post
Share on other sites
[quote name='YASSImaN' timestamp='1345428185' post='4971293']
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.
[/quote]

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.

Share this post


Link to post
Share on other sites
[quote name='YASSImaN' timestamp='1345428185' post='4971293']
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.
[/quote]

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! :)

Share this post


Link to post
Share on other sites
If your goal is to make a game as fast as possible, as your original post says, you might want to think about using an engine or library. They're tools to assit you with finishing games fast, instead of writing everything yourself from scratch. Once you pick your tool, you'll see what languages it supports. For example, my personal favorite, Leadwerks, supports C, C++ and Lua. Knowing C# wouldn't really benefit you if you wanted to use it. Some engines only use their own custom scripting language. So I'd look into that first and go from there.

Share this post


Link to post
Share on other sites
[quote name='MrJoshL' timestamp='1345405192' post='4971188']
@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.
[/quote] Well I don't like people stereotyping me thats all.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this