   Java help
  Hi guys. ive been learning java for quite awhile now and no matter how much i try to learn things.. I can never seem to grasp the stuff that makes a game "visual". Making an interactive MUD is simple enough, when it comes to extending a class on canvas... and drawing the redrawing over.. it all becomes so confusing. Basically im trying to ask, is there an "easy to use" engine that will handle the visual aspect for me in a well understandable manner?I've tried to use JME "Java Monkey Engine" but it seems to go against everything i've learned. Having to extend one class on a pre-made class. then stuff everything into that one class pretty much. It defeats the purpose of object oriented.Any help or a good refference that deals with this stuff would be great :).Thanks.   
  I'd recommend the slick2d: http://slick.cokeandcode.com/index.phpYou do however have to extend from a class in slick2d. How does extending from a class prevent you from putting your code in other classes?   ;  Alright thnx.Maybe it doesnt but the way the engine works confuses mePretty much everything made has to be attached to a node on a scene graph. but that cant be done until you call the pre-made loop etc. and thatd be like calling multiple mains.. yeah idk.. it just confuses me lol.   ;  Well the main difference in moving from text based games to 2D/3D games is the fact that you do need a infinite loop running.  Your event handlers would handle key presses.  This would be your game loop.  A basic game loop would be similar to something like this...while(true){  update();  draw();}That is partly why it would seem a bit awkward.The extending from a pre-made class again is not really defeating OOP either.Not exactly sure how j-monkey and such works internally but you may have a sprite class.  Your player could be derived from the sprite class + the things that define it as a player.  That is not breaking oop  because you are not making the player anything he is not.  The player is represented as a sprite on screen.You may not have to extend tho.  In most engines you can simply just use the class itself inside your class.  So you can make a sprite object inside your player class and that is the representation.That is two solutions to the same problem and both accomplish the same task just in a different way.   