Beginning Game Development
Members - Reputation: 100
Posted 10 January 2012 - 09:05 PM
My programming teacher allowed me to go into independent study for the rest of the year, and I chose to do game development with Java. Game development had always been my aim but I could never really grasp the concepts behind it. Admittedly, I'm still short when it comes to knowledge on the topic.
I've searched around places, but I'd like to be pointed in the right direction about where exactly I should start learning these things. My teacher does have the book "Killer Game Programming in Java", but it was written in 2005 and I remember reading that it uses Java2D instead of a library of some sort, which leads me to my next question...
I understand that a library is used in order to make game programming easier, but what exactly is the difference between a library and an engine?
My goal is to spend this semester learning the game development process of 2D games in Java, and submit a decently-polished 2D game (Possibly a small RPG or platformer), as my final project. I intend to pursue a career in game development, and I am actually rather excited to start learning these things. I chose Java as my language of choice because I am familiar with it and because my projects need to be written in Java in order to earn credit for this year's course, in case anybody was curious.
Thanks in advance for any help I may receive!
Members - Reputation: 689
Posted 11 January 2012 - 01:27 AM
A game engine is a complete system which can be easilie filled with content.
If you want to create a small Platformer Game and you have no experience in game development yet I recommend to use an existing engine just to get the idea behind the technical game side.
-Slick2D is a 2D Engine for Java and should work out for your current needs.
Once you have more experience and understand what a game needs to do you could try to use LWJGL to create your own engine.
Crossbones+ - Reputation: 5182
Posted 11 January 2012 - 10:30 AM
A library is a collection of code, generally but not always, to perform a single similar function ( ie, implementing a joystick, or providing DHCP support ). An engine is a collection of code ( and tools ), often composed of multiple libraries. That said, as a pizza can be lunch and a lunch can be pizza, it is possible for an engine to be composed of a single library, as well it is possible for a single library to contain all the functionality of an engine.
To the technical side of things, Olaf's suggestion of Slick2D is probably as good as it gets for 2D Java development these days. Another option you could consider is PlayN, but it's not really that far along at this point that it would be friendly to a newer developer.
My more Popular Tutorial Series:
Members - Reputation: 600
Posted 12 January 2012 - 01:14 AM
Members - Reputation: 100
Posted 12 January 2012 - 03:05 PM