Should I be here?

Well I'm fourteen years old, and barely at that I was introduced into Java in the place where you pickup the worst habits, conventions, and near no knowledge of actual Java. You guessed it RSPS (runescape private server). I'm personally tired of Runescape since it will get me no where in life and actually provides extremely little experience to apply to a job for when I get older. So I thought long and hard about what I want to do with my life. I decided I wanted to program games. Seeing as how little Java knowledge I had and not knowing much of any other programming language I set out looking for a Java game engine. I found several but this one seems to be the best. I was wondering, do any of you think I stand a chance here? Can I even try to get started? Or should I just leave this forum and framework behind and find another hobby. Basically I can read Java and understand mostly what is going on but not even that completely. Is this a place where somebody with as little knowledge as me can stay to, chat, develop, and grow into a better programmer, with more potential? Or is this a place where only the best of the best should be at because they already know what they're doing and can code an application with their eyes closed. I looked at a games source code today that I found on this site and felt quite overwhelmed as most people do when they see something they don't fully understand. Responses would be sincerely appreciated. If I don't stand a chance I don't want to waste my time but if at least one person came here with little knowledge, as I did, and they can hold their ground against the engine and its alien-like complexities and create a game in the end then I will stay but if I'm the first one to come here I don't want to stay long enough to embarrass myself. Pardon my grammar if it is incorrect, grammar is not one of my strong points.



Again any responses would be sincerely and genuinely appreciated.

Welcome to the community Justin. Let me start by giving you kudos for doing your initial approach in this way; I think you'll find jMonkeyEngine to be a mature community that appreciates a mature attitude.



Though I have a feeling the more experienced programmers around here will tell you to learn Java first, jME second (possibly a small game made in between), I will give you my own perspective as a non-technical participant.



jME has come to be a pet project of mine (we're talking big responsibility, man's best friend type of 'pet' here; I don't wanna know how some of you may treat your monkeys) because I believe it holds immense potential as a tool for game developers, and as an aspiring game developer I feel inclined to commit myself to this project with whatever skill-set I have to offer.



Mind you, if you think being a games programmer differs from any other programming job, this is a risky assumption. It all varies from company to company, but these days there will already be a complete team of designers in place to take care of any and all creative elements, while the programmers get paid for their programming, not for introducing 'feature creeps' (google that term if it's unfamiliar to you). Again, that is not the way it is in every company, but you should not come in expecting any thing else. In conclusion: If you want to be a games programmer you need to love programming as much as you love games.



Starting out with programming won't ever be to your disadvantage though. If after a couple years of half-assed efforts in programming you figure out that game design is what you're actually cut out for (you damn well have figured that out because it's your passion, and not because it's the easy way out, 'else I got news for ya!) those moderate skills in programming will certainly put you ahead of the curve. No entry-level designer can get past scripting-jobs these days, so if your experience encompasses that, then all the better.

all i can say is that you are in the right place…

this community is one of the best i've ever seen in terms of support and encouragement…

people are incredibly helpful no matter what your level of programming is…

i would advise you to get a better understanding of java first but at the same time there is nothing stopping you from learning java in parallel with learning jme…

either way good luck and don't be afraid to ask questions…

I definitely think this is a great place for you!  In terms of the lack of proficiency in Java, I say “why not learn one alongside the other?”  Applied learning is probably the most valuable way of picking up new skills, and writing a game in Java is about as applied as it gets!



While you’re diving into jME, definitely have a look into this book…  I picked it up a few months ago because I liked the way that it went through the MySQL driver functionality, but I read it a bit from the beginning…  It’s extremely well written and seems to introduce all the right programming paradigms [plus tons of examples] without being too heady…

These forums have a lot of users of varying skills, so I don't think you'll be out of place.



Another good java book (and free for the 3rd edition) is Thinking in Java by Bruce Eckel:



http://www.mindview.net/Books/TIJ/



I didn't "grow up" with this book, but its usually recommended - and best of all it's free.



As erlend_sh said, loving programming is a must. Making any type of software, whether it's simulation, research, or entertainment is hard work. Just because a game will be fun for the end user, doesn't mean making it is all fun and games heh. Making good software is more than JUST knowing a programming language. You need a good math background (or be comfortable with math at least), you need to know programming patterns, good software development practices, etc etc.



Personally, what motivates me and drives me when I program is how great it feels to sit down and design a solution to a problem, and the wonderful feeling that comes out of it actually working and coming together. This applies to even so called "boring code" (e.g. code that needs to get done, but isn't flashy or fancy!).



I kinda wish I got involved with programming at such a young age, but I didn't make that choice until I was entering college (and if I chose a different path, today I'd be a mechanical engineer heh).



And kinda offtopic, but this is my opinion (I'm sure folks may disagree). If you want to make your career in software, I recommend if and when you (prolly should) go for formal education, you should definitely go for something general like Computer Science (& Engineering) or some of the Software Engineering programs popping up around the country. I honestly don't really "trust" the degree programs out there that are tailored towards game programming. A career in game development can be volatile and may never happen (ie "dream job"), but there are many many other fields that a good software developer can get into, and having a nicely rounded skillset will help!

Well I guess it's unanimous I'm going to stay and probably get something from my time here, experience-wise. Ironically I own the book "SAMS - Teach yourself Java in 21 days" I bought it a while back and lost it on my hard drive found it though. As for wanting to be a programmer for games and not just software in general, I would be happy with either I just want to program for a living that's my dream job. I just want to program games a little more because the idea just appeals to me. Being able to make a whole world where anything is possible and it would be made by me. I love programming and helping others program more than actually playing games a lot of times. Thank you all for the recommendations and encouragement. I am very intelligent in math even though I'm only in Geometry from what I've been told I can go far if I were to become an engineer or something else involving math but I would much rather program and it does involve math just not as much. I just read the catalog for my community college's Fall classes and they offer Java programming classes so I'm thinking about taking those. It wouldn't be my first college class so I think I could handle it but paying for a book would be the only problem. Until then I'm reading "SAMS - Teach yourself Java 6 in 21 days." After I finish that book or get comfortable enough with the language I will be a lot more active in the forums here and start developing my own game. Maybe some day I can help you guys with a problem. Imagine that.

Justinc said:

Well I guess it's unanimous I'm going to stay and probably get something from my time here, experience-wise.

That's great! 
sbook said:

I definitely think this is a great place for you! 

I agree.  It's a good active and helpful community.

There have been good suggestions that will help you with Java and jME:  :D
1. Java books
2. Indie groups
3. Tutorials and examples
4. Forums and wikis
5. Design patterns
6. School

If not already posted, I would also suggest:
1. Using Eclipse or some other editor (more stuff to learn, but it'll save you time if you write lots of errors like me XD )

:D

I write more errors then lines of code! Joking but seriously I haven’t even set up the engine yet because of the errors I get I followed a tutorial line by line and still got errors I found a video on setting it up so I’m going to go look at that and see if I can set it up before I whine and complain. Does anybody recommend using Intellij Idea? I heard it is a fantastic IDE.



Edit: I have setup the engine and viewed some of the tests to of course run tests. Overall I’m impressed but impressing a 14 year old kid that’s only been programming for about two years can’t be that hard can it? Still I recommend this video to anybody that was having trouble setting up and is new here. Setting Up jME Tutorial

Justinc said:
Does anybody recommend using Intellij Idea? I heard it is a fantastic IDE.
I take it you've seen this thread already?

So gbluntzer might have some insight to share.

I'd recommend netbeans all the way. Simply the best ide for java afaik.



Heres a good guideline to getting comfortable with java and 3d programming…



1: make a simple mod or two for an iterative-code game (quake 3 is a good example) this should put you in touch with a little 3d math and timing code to get things started, without having to worry about structuring…



2: learn java structuring and clean code, even if it involves a simple project or two like a calculator or something. Try to do it by-the-book to bash the java-ness into your head. (I was lucky enough to have an older brother beat it into me when we were making some earlier open-source projects, but was unlucky enough to have started with assembly, ansi-c and pascal originally and had no idea on large, structured projects).



3: make a simple game in jme, a 2d tile game would be a perfect example of how to wrap your head around 2d and 3d code and come up with the correct java models etc…

lanmower said:

I'd recommend netbeans all the way. Simply the best ide for java afaik.

Heres a good guideline to getting comfortable with java and 3d programming...

1: make a simple mod or two for an iterative-code game (quake 3 is a good example) this should put you in touch with a little 3d math and timing code to get things started, without having to worry about structuring...

2: learn java structuring and clean code, even if it involves a simple project or two like a calculator or something. Try to do it by-the-book to bash the java-ness into your head. (I was lucky enough to have an older brother beat it into me when we were making some earlier open-source projects, but was unlucky enough to have started with assembly, ansi-c and pascal originally and had no idea on large, structured projects).

3: make a simple game in jme, a 2d tile game would be a perfect example of how to wrap your head around 2d and 3d code and come up with the correct java models etc...


Personally I prefer eclipse for java development, though its ironic that I absolutely love to use netbeans over visual studio for C/C++.
Starnick said:

Personally I prefer eclipse for java development, though its ironic that I absolutely love to use netbeans over visual studio for C/C++.


Funny, as Visual Studio is the only Microsoft product that I've ever found really worth my time ;)

I use intellij for work its really good for Java EE development. 



I have used eclipse for jme it works fine.



I would just stick with eclipse since that is what most people use.

actually I typoed a while word, I meant to say eclipse for java :slight_smile: