Beginning Game Development

Started by
3 comments, last by Jonathon Lewis 12 years, 3 months ago
Hello! In order to help you guys determine what I should start with, I'll give you a little background knowledge of myself. I am currently a high school senior planning to go into college for Computer Science. I absolutely love programming, and am rather known around my school as being the "best" programmer. This year we began learning Java, and due to my ease of learning the language and comprehension of doing so, I finished my first two semesters in the first semester of the class.

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!
Advertisement
The difference between a library and engine is that a library offers classes and functions.
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.

Follow my hobby projects:

Ognarion Commander (Java/LIBGDX): https://github.com/OlafVanSchlacht/ognarion-commander

As to the difference between an engine and library, it mostly comes down to definition. A library is to an engine, as a slice of pizza is to lunch.

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.
I wrote a Zelda RPG clone in Java for a class project using the "

Beginning Java SE 6 Game Programming" book by Harbour. It covers creating a 2D game engine in Java using Java2D API, which is made up of a collection of Java libraries. Another detailed book with better error detection and better full screen performance check out the

"Developing Games in Java" Brakeen book. His website also has same code you can check out to get an idea of what you need to know. Also, if you look at the bottom of the webpage on the Brakeen site you'll see that there have been few if any changes to Java since 2005 as far as game programming goes so the Killer Game Programming book is still applicable to any Java games you make. The most in depth and largest Java game programming book I have read and is "Killer Game Programming".

[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Thanks for the information, guys. I think I will read through "Killer Game Programming", as daviangel suggested, because it sounds like there is little reason not to. After that I will go ahead and use the Slick library for a while until I get extremely confortable with it. I probably won't dabble with creating an engine for a while, even though it does sound interesting.

This topic is closed to new replies.

Advertisement