Basilisk is a multimedia class library for Java. Basilisk was used in many past Java games produced by zerosoft for third party software houses and distributore. With the approach of Tiger and the great effort of Sun for the development of Java Games, zerosoft has decided to release Basilisk as a public open source project and as a licensable direct support product.
Features
- Painless management of accelerated graphics for Java.
- Fullscreen Exclusive mode support
- Support for sprites.
- Support for timed animations. Define the frames, their timing and you're done.
- An HighRes timer for smooth 2D native applications.
- An easy audio subsystem.
- Support for other audio formats by the new SPI inteface (for some formats you may need external libraries).
- Customizable filters (make your own 3D spatial audio managers, as well doppler or echo filters).
- A complete Tile Engine support (editing is supported via Tile Studio, a native editor is in design phase), with per-tile bound definitions and per-tile event codes.
- A complete 3D API useful to bridge Java to OpenGL and other 3D rendering native APIs or just to make 3D calculations and simulations.
- Discrete lookup table based trig (with 4096 increments in 2*PI).
- Loaders for images: load an image in RAM or in Video Memory (using hardware acceleration) transparently.
- 100% lightweight Java technology: for fast performances and no platform dependancies.
- An intelligent entity system based on interfaces, for example: everything that can be moved during time implements an Updatable interface to make logic-update loops really easy and fast to code.
Why Basilisk
Because we can.
The non-native approach is made for several reason: Basilisk is aimed not only to Java2 SE and EE but also to web technlogies and online games. The full lightweight approach allows performance comparable to C++, a far easier and nicer development cycle and tailored hardware optimizations done at execution time. Another useful feature of using JIT compiled code is a faster memory management that is expecially true when an application chrunches lots of small objects (3D anyone?) and, in general, must cope with lots of dynamic memory operations. Graphic-wise Java can now deliver accelerated hardware 2D performance on all the supported platforms, direct OpenGL bindings and also a new OpengGL-based 2D mode.