Hi so I'm in secondary school (not sure what you Americans call it) and I want to start making games I've had a passion for video games since I was 6 and when I mean passion I mean I would rather die than live in a world without video games or computers ( like a lot of us nerds here). But I first started want to to get your opinions, help tips ect
Previous experiences = none other than doing all the graphics and sprites ect in my friends games he knows both python and java so he can give me a bit of help but he's not so great at teaching . I have bought a book "head first java" (so yes I have chose java to start out with with and will probably move onto c++ or c#) and and I'm going to read it soon (all 688 pages of it -_-) but first I need your help kick starting my what would you call it... Learning engine... as I'm terrible at starting to learn stuff but brilliant at learning once I get started.
All I really want to be able to do is make a complicated 2d game. So I need your tips tricks help and support please
Also is there anywhere where it's just a big list of what certain words and symbols do that would help me out alot
So, when it comes to game programming, it really is quite a covered topic.
Java is a great language, in fact I use it for my own games.
There are downfalls tho. If you use just java for everything without external libraries (like OpenGL) the game won't be fast at all. Simply because java isn't hardware accelerated so it has to use the CPU to draw everything native.
If you want, after I finish my current game, I'd be willing to help you get started in game development. My current game has mod support, so that could be an interesting way for you to get started in Game Development and learn how it all works. (My game is also completely open-source)
If you want to simplify your development process, use an engine. They do a really good job at simplifying most everything to a 1st or 2nd year programmer's knowledge.
I'm not a programmer, but when it comes down to hardware accelerating Java, he could use LWJGL (http://www.lwjgl.org/). I'm sure you know it enables OpenGL, OpenCL, and OpenAL. Minecraft uses it and it runs smooth as butter, so I don't see any issues with it.
Just go with Java since I think you're this new. Good way to start off with your programming skills as it's a foundation of all the languages. And programming games isn't an easy task. You can't assume that you can jump straight away onto it, it all starts off with your desire of programming anything else. Start off with a small knowledge and keep growing it until you're confident with everything.
I'm going to turn down your offer but I'm very thankful that you even offered.
Engines for java? :O never new they made them for java thought they were mostly made for c++ ect could you send me links to some that would be good for a 2d game (top down style) just wanna see what they are like for curiosity sake
+1 the video is very accurate. The only other thing I would add is that just learning game development is not a smart way to start programming. Usually its best to start with the actual language then adapt your knowledge to games.
I agree with @Devon here. My experince has shown that jumping straight into game programming has taught me bad programming habits and messy coding. I suggest at bare minimum learning the basics of Java. Watch TheNewBoston's videos on it.
Start at something like C or C++. You can also go with Java because of the similar syntax (though I'd prefer C/C++ but only because I've been doing it for so long). Just start somewhere. Like I said to someone else who posted a similar question, don't be frustrated if whatever resource you are using to study has you making a bunch of "hello world" cmd apps when you want to make flashy games instead. You have to start here first and you have to tough it through to get to where you wan't to be.
Personally when I study something it helps to set a goal. Set a goal for yourself like you will read 5 pages of your book a day or you will complete at least one practice problem a day. Good luck.