• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
ChristianFrantz

java libraries

5 posts in this topic

I'm interested in making a 2-d platformer later on in my game making career. I'm learning java right now so i was wondering what kind of libraries there are for java that are useful for platformers? and if anyone feels like sharing the pros and cons of each thatd be great[img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]
0

Share this post


Link to post
Share on other sites
Disclaimer: I do not have extensive experience with any game libs. I'm working on a 2D platformer also and I'm building almost everything from scratch as a side project--for learning and for fun.

My answer is: It depends on what you want, exactly.

If you want to learn how things really work, start writing it yourself, from scratch. That's what I did (and am still doing).

To make a platform game, you don't need any special libraries. The following is what it takes to get the basic platformer mechanics in place. All of this can reasonably be written from scratch.

- Create a window with some sort of canvas you can you can draw on
- Build a game loop to make update and render calls. For simplicity in your implementation, you can synchronize the update/render cycles and fix them to a particular framerate (60 frames per second, for example).
- Figure out how to draw primitive shapes, like different colored rectangles.
- Figure out how to draw rudimentary animations. For example: Draw a background and move a rectangle back and forth across the screen, or draw it at a random location each frame. The point is, you want to see _movement_. This will show you that your render loop is working.
- Figure out how to get keyboard input from the user -- arrow keys, for example.
- Figure out how to use the arrow key input to move the rectangle around.
- Now figure out how to make it smooth.
- Next, add platforms, jumping, and gravity, and start figuring out collision detection and response. This is where things start to get interesting.

For all of this, you only need the Java standard libs, including Swing and AWT for the graphics.

Building a decent game (event a simple one) takes a lot hard work. Don't expect immediate success. I started my platformer project over 2 years ago. I would work on it for a while, then I would let it sit for several months. The first prototype was pretty cool: I had gravity, level scrolling, jumping, blocks that you could push around, level switching, parallax background scrolling, basic character animation, little projectiles that the character would throw, and I was even working on ladders. I had a basic level editor too. And you know what happened? It turned out, I had made several major fundamental errors in the core design. It got really ugly and it was nearly impossible to make changes without breaking tons of stuff. So I started over from scratch with an attempt to do things right. This also means I'm unit testing my code religiously (before, I hardly tested anything).

Anyway, sorry for the speech. Just wanted to share my experiences. I hope it helps. Just start small and be prepared to learn.

Thok
2

Share this post


Link to post
Share on other sites
If your making a 2D platformer, you might want to check out Slick, [url="http://slick.cokeandcode.com/"]http://slick.cokeandcode.com/[/url]. I use their utilities files myself for my 3D Apps, but havent personally used their 2D Engine, but I do hear good things from them and see really good examples. Or if you know opengl you can just use LWJGL and you will feel right at home.
0

Share this post


Link to post
Share on other sites
Slick2d comes to mind so does struggling to install its libs.
I prefer Jmonkey sdk and it can be used for 2d with fixed camera angles but it is a 3d engine and will act like one.

i have made 2d enviroments with the standard java lib and 3d with jmonkey
[url="http://www.strangeturtle.com/JAVA.html"]http://www.strangeturtle.com/JAVA.html[/url]

also check out this opensource platformer game made with a standard java lib
[url="http://runeneo.weebly.com/downloads---platformer.html"]http://runeneo.weebl...platformer.html[/url]

when it comes to physics and collision detection thats when the lib becomes handy and makes the game 100000 times more polished But you certainly dont NEED libs as seen from the links of working standard libs Edited by StrangeTurtle
0

Share this post


Link to post
Share on other sites
[quote name='thok' timestamp='1345638509' post='4972174']
And you know what happened? It turned out, I had made several major fundamental errors in the core design. It got really ugly and it was nearly impossible to make changes without breaking tons of stuff. So I started over from scratch with an attempt to do things right
[/quote]

HAHAH that is the TRUTH
0

Share this post


Link to post
Share on other sites
Hi burnt_casadilla,

I started on java development of a 2D game late last year and did a quick look around for suitable libraries. I found JGame ([url="http://www.13thmonkey.org/~boris/jgame/"]http://www.13thmonke...g/~boris/jgame/[/url]) to be an excellent starting point.

The big advantage of JGame is that it is specifically targeted at starting game developers. There is a tutorial that slowly introduces the basic concepts and you get various demo games that display a wide array of games that you can make with it. There is no platform game amongst them, but since JGame supports sprites, background tiles and scrolling, it must be possible to create such a game with JGame.

The good.

- Framework that takes a lot of hassle away (you start coding your game quickly)
- Support for various Java environments (desktop, applet, Android) even a variant for Flash if you want to switch to that.
- Nice tutorial and demo games
- Performance optimized

The bad.

- It is a limited (limiting?) rigid framework. You will probably encounter its limits sooner rather than later. This is exactly the price you pay for getting started so quickly.
- Some aspects of the framework are a bit vague due to unnecessarily short variable names or unclear method names.
- The library is open source, but does not lend to being modified for the purpose of your game. In short: it's messy. (I really fell in love with the functionality, but now that I'm extending the core, I'm first rewriting the core in a way that I can understand.)

My advice.

If you know how all about collisions between sprites and background, have some idea about how to handle threading, know how to load and manage your images and animations, you don't need JGame. If not, JGame is an excellent place to learn some of the basics.

Good luck! Edited by Verik
2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0