Game engine creation is much more difficult than newbies realize. Analogy
Game .... Imagine a Rocket..
Game Engine ... Assembly, Launch, and Tracking Facilities like Cape Canaveral and Houston.
Framework... A certain Space Mission Program, such as the moon being the objective with worldwide contributors.
Corporate Game Developer... A Department of Space Exploration, including everything needed to launch anything for any mission or program.
NOTE: This is a deliberate oversimplification for clarity, expecting you to see the symbolic comparison.
The advice which I am going to give you here has both strategic and tactical (real life career and practical short term) effect if you do them. In order to be merely an interesting hobbyist, you should follow your passion mainly - realities occuring to you will inevitably correct you, though this can be made easier by taking the proven methods of game development success. For someone aspiring to be a professional some day, critical thinking, prevention, and problem solving will be heavy daily demands. You seem to respond to good suggestions in this thread, so I will feed you what you need to know next. We have the extreme difficulty of creating a comprehensive game engine established as a given.A) Fundamentals - Programming Foundation! Many hobby games are published in this stage.
Java should be your first game making language, since you have a fair head start in it. Unless you have a respectable amount of programming experience, make a few simple programs before starting any game making. If you have had programming experience enough to begin, then make only simple games for a while. Console programs and games are the ideal beginning area for most newbies, just so you know.
Make some simple console type games before moving forward, like crossword puzzles, "Worm", and so forth. These are the type that do not require a graphics engine in particular, so you can focus on game programming basics.Do these things well before moving to the next phase.B) 2D Simple Games on Third Party Game Engine ( Look at jMonkey in your case or other Java engine) - Game can be published at this stage in some situations.
Simple 2D game making is the next area once you are competent in the above beginning one. Make simple games like Pong, Tic-Tac-Toe, Defender, Tetris, PacMan, Asteroids, and so forth - the easier 2D games for your first 5 to 10 of them.
Game Engines List: Java game engines included (Especially look at jMonkey...)http://en.wikipedia....of_game_engines
Make simple 2D games on someone else's game engine for a while.
Refine each game so you are adding features creatively and gameplay is smooth before moving to the next one.
Don't get lost in the game creation jungle by starting on any game engine in the next year or two at least, unless you are confident in your genius aptitudes.
(Notice: A third party game engine often requires the use of a certain framework upon which they created it in order to develop games, probably one of the Java frameworks in your case, plus libraries.)C) Game Coding on a Framework - Can be preparation for publishing a game or creating a game engine.c
reating your own games independent of the game engines of others is the next stage. You will likely need to choose a Java IDE and/or Java framework at this phase, probably in a couple years minimum (again - unless you are a genius with all day available). Use this chosen development environment to make a simple version of the game of your dreams. You will probably need to start and restart a few times, maybe abandoning your first game source code entirely to begin a second or third time.
Start with 2D games and eventually - maybe - begin very simple 3D games.
Don't try game engine creation until this stage of framework utilization.
Refine a game before starting a game engine! It must be ready and well organized to be used as a kind of pattern to mold game engine components from it.D) Game Engine Source Coding
- An IDE is likely needed such as Visual Studio, MonoDevelop, or Java IDE for the huge development of very sophisticated games employing teams. If not, then a lower level framework such as .Net Framework, Mono, or Java framework might work for an indy game developer. (See also other frameworks, such as SharpDX)
Creating the game engine simultaneous with a simple game might be the best way to do it for your first try in the game engine stage. This is why I recommend an industry standard IDE or a framework for you, since it might be better for the relatively unique challenges of Java. After research, you'll see what I mean.
Note: The clearer the boundries between game source code, game engine source code, and framework, then the easier it will be to understand and make major changes or spawn new games, speaking in general though you might be exceptional.
Hey! You are probably at least a couple years from starting to make a game engine. Most people who set a goal to make a game engine never do! Not to discourage you but urge you to do much assessment and research.
Game engine creation is a mountain to be climbed and hiked, but no running, skipping, or hopping, because getting to the top will require very careful steps! You must look and plan for the coming challenges or you might die before you reach the peak! These principles are just as true for game development! The whole game development community is proof of this!
Much research is going to be required. The further you grow, the more debugging you may need to do. You will need to make quite a network of organizations and individuals to help you with information, advice, and problem solving. On the reward side, the more you achieve then the more satisfaction you will get.
I wish you well! Have fun in all you do!
Edited by 3Ddreamer, 03 November 2012 - 11:50 AM.