
sf-library
The StudioFortress library
This library is designed to aid in the rapid development of 2D games. It's a framework with utility libraries that aims to perform the majority of common tasks in games. It uses the Java OpenGL libraries for rendering and gives you a structure to build games and navigate around this game structure when running.
Examples
This library was built specifically to help with building small applet games. Some of these include...
ColdWar Chaos
Planetoids
TetriSweeper
SpaceSnake
There are more examples available to look at on my website StudioFortress.com.
Why SF?
The library has been built with a few main aims:
Low GC
Objects need to be cleaned up. But garbage collection not only uses up CPU usage it also pauses your app causing stuttering. Loosing a frame a second in your game is noticable. The SF library is built with low garbage collection in mind. It even uses it's own custom collections in order to avoid object creation whilst adding, removing and iterating over items.
Productivity
If your game doesn't get finished, no one cares. The SF library is aimed to help prototype and build games as quickly as possible. It provides a customizable game structure via backend and boiler plate classes through to high-level game entities.
This is so all you need to concentrate on is the game.
Extensibility
As well as providing classes to use, they are also built to be extended and customized. This is so all you need to do is add the game specific backend logic you need. For example the collision detection is interface driven allowing you to define and use your own collisions detection algorithms. You can even add new methods to the standard graphics object used for painting.
You can read more about the SF library's structure here.
Download
The current version of the SF library (including JavaDoc) can be found in the downloads section.
Tutorials / Examples
- A quick look round the entire framework by implementing a simple version of Pong.
- A complete example of a simple bouncing circles scenario.
Requirements
- Java 5 (or higher)
- Java OpenGL bindings
Although it can be used with any editor, the SF library was designed to be used with both NetBeans and the NetBeans JOGL pack.
Project Information
- License: New BSD License
- 4 stars
- svn-based source control
Labels:
java
game
framework
2d
prototyping