IMP1 / jog

Jog
Other
0 stars 0 forks source link

Jog

Wiki (W.I.P) | License | Issues | Download

Built on top of the LWJGL, and heavily based upon LÖVE, Jog is a game library that provides only what is necessary, and not too much more. It begun life using a few methods from Slick, mainly those for audio, but I decided that needing slick just for audio meant that the user had access to all of slick, and so probably wouldn't need Jog.

It is broken down into the following 8 modules:

The audio module deals with music and sound effects. It uses Kevin Glass's EasyOgg library and currently accepts .ogg filetypes.

The filesystem module handles searching multiple locations for files, and can convert paths to URLs. It's mainly used internally to get absolute paths to resources so they can be used.

Currently the font module only handles bitmap fonts, and only very basically. This includes loading and drawing.

The graphics module uses OpenGL and deals with drawing things to the screen. It features many methods for drawing simple shapes and lines, and for changing the colour of things drawn. It has different blend modes, including additive and subtractive, with the default being alpha. It can also rotate, scale and translate drawn objects.

The image module loads images into OpenGL-friendly textures, using Matthias Mann's PNG Decoder, and allows access to the image's pixel data.

The input module allows the status of keyboard and mouse buttons (whether they're pressed or not), and has callbacks for when they are pressed and released.

The network module is being worked on currently and is very rough. I've just gotten multiple clients connecting and sending/receiving data, but it's very buggy and error-prone.

The window module allows creation of the window, and setting of certain settings, such as the title, icon and dimensions. It features fullscreen and/or borderless windows, as well as your default windowed mode.

I've started on a wiki, but very little is there, and what is there is subject to change.

If you have any suggestions or comments, you can email me at IMP1@mail.com.