Jump to content

  • Log In with Google      Sign In   
  • Create Account


Help! I'm trying to make a game.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
45 replies to this topic

#21 Telastyn   Crossbones+   -  Reputation: 3726

Like
0Likes
Like

Posted 19 August 2012 - 08:38 PM

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.

Sponsor:

#22 SimonForsman   Crossbones+   -  Reputation: 6034

Like
0Likes
Like

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.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#23 Rld_   Members   -  Reputation: 1383

Like
0Likes
Like

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 GameCreator   Members   -  Reputation: 747

Like
0Likes
Like

Posted 20 August 2012 - 01:17 PM

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.

#25 Kripis   Members   -  Reputation: 132

Like
1Likes
Like

Posted 20 August 2012 - 05:54 PM

@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.

Well I don't like people stereotyping me thats all.

#26 Malabyte   Members   -  Reputation: 588

Like
2Likes
Like

Posted 20 August 2012 - 10:38 PM

What you're asking is essentially the same as asking if english or french is the best language to use to say "Hello" so someone. "Allo" might be 1 letter shorter than "hello", but that doesn't mean that french is better (even at saying hello). This is where context and abstractions come into play. One judges a given language based on complexity/processing, ease of learning/understanding and how fast you're able to read, speak and write something with it. In those regards, C++ and C# are so similar that it doesn't really matter too much which you learn - especially since you'll eventually know both of them eventually.

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. Posted Image

Edited by DrMadolite, 20 August 2012 - 10:58 PM.

- Awl you're base are belong me! -

- I don't know, I'm just a noob -


#27 Toothpix   Crossbones+   -  Reputation: 810

Like
0Likes
Like

Posted 21 August 2012 - 05:48 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.

Edited by MrJoshL, 21 August 2012 - 05:50 AM.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


#28 Lightness1024   Members   -  Reputation: 734

Like
0Likes
Like

Posted 21 August 2012 - 06:42 AM

I heard somewhere (dunno if that is true), that the boy who programmed the first prince of persia game was 14 at the time. And I have acquaintances who programmed algorithm for integer division on calculator in junior school (10 year old). So in my book, he being 13 is not the issue here.

#29 SimonForsman   Crossbones+   -  Reputation: 6034

Like
2Likes
Like

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 :D
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#30 Alamar   Members   -  Reputation: 256

Like
1Likes
Like

Posted 21 August 2012 - 09:49 AM

First off, I applaud your willingness to teach yourself; a skill I am very happy I learned, and learned early...

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 DZee   Members   -  Reputation: 194

Like
0Likes
Like

Posted 21 August 2012 - 12:01 PM

Tutorials aren't really useful unless you are looking for something peculiar that you have absolutely no knowledge in. For example you want to implement an AI for Pac-Man and want to use a smart algorithm to achieve it or how to implement parralax scrolling. Otherwise just pick a language you like using and feel proficient with and just experiment.

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 Toothpix   Crossbones+   -  Reputation: 810

Like
0Likes
Like

Posted 21 August 2012 - 04:49 PM

You know what? I am tired of the reputation plummet. I'll still be realistic here, but at least it optimistic realism not cynical realism. You are 13. You want to program a computer game as a hobby. You don't know any programming. You want to. Programming is not as hard when compared to using programming to program something as complex as a game. I don't know you. I have no idea if you have an aptitude for this type of thing. If you do, I would venture to say that you very well could make a 3D computer game, as long as you learned the math on your own, otherwise it would take much longer. I won't lie, its not rocket science. Vectors and transforms are indeed challenging, and are far from everything, but definitely don't require calculus unless you want to get really fancy and/or very efficient, but it is not necessary for learning. The more math skills, the better off you are. I think you could probably make one, if you were interested enough. One thing you should know, however, is that the time investment is a lot. Also, don't go advertising your age on the internet, especially on technical/programming forums. People (like the sometimes-cynical-me) may make fun of you and/or discourage you, because generally speaking, this may not include you, but kids your age aren't exactly capable on any level to do any type of programming (experience, time investment, aptitude, determination). But, hard work is not everything. A train can move at how ever many horsepower it can go to, but won't go anywhere intended or good unless it has tracks. Intelligence is the tracks. Learning how to program takes hard work and dedication. Learning how to program well takes hard work, dedication, and intelligence.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


#33 3Ddreamer   Crossbones+   -  Reputation: 3133

Like
0Likes
Like

Posted 22 August 2012 - 02:18 PM

I agree with Bacterius, in saying that it depends of what you want to make.

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

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#34 lride   Members   -  Reputation: 633

Like
1Likes
Like

Posted 22 August 2012 - 06:23 PM

It's good to build up programming experience from early age.
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.
An invisible text.

#35 PaulJabs   Members   -  Reputation: 130

Like
1Likes
Like

Posted 22 August 2012 - 08:55 PM

right now i only know one language which is java.I did a research about the appropriate programming language but all i saw was c++.Many company requires c++. I continue using java just to know the concept of game programming and then i will switch to c++ when im done with this project.
this is my opinion only.

#36 3Ddreamer   Crossbones+   -  Reputation: 3133

Like
0Likes
Like

Posted 22 August 2012 - 09:10 PM

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

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#37 Halley62373   Members   -  Reputation: 113

Like
0Likes
Like

Posted 23 August 2012 - 12:56 AM

I advise you to go with C++. you can make simple or complex games with Dark GDK and C++.
Miracrea Games

#38 SimonForsman   Crossbones+   -  Reputation: 6034

Like
0Likes
Like

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)
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#39 TheVirtualDragon   Members   -  Reputation: 237

Like
0Likes
Like

Posted 23 August 2012 - 04:53 AM

I am 13 as well, and I started learning C++ when I was 11.

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 Posted Image

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.

What's This?: basically, it's my blog. Click on it.

#40 Xirion   Members   -  Reputation: 252

Like
0Likes
Like

Posted 23 August 2012 - 09:35 AM

I just want to say something about the tutorials.
(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.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS