Difference between revisions of "SquidLib"

From RogueBasin
Jump to navigation Jump to search
m (removed redundant information)
m (Change headings and a few other things.)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
===SquidLib is a Java library that provides a full featured toolbox for working with turn based games in Swing.===
{{library| name = SquidLib
|developer = [[user:Deej|Eben Howard]]
|released = Nov. 23rd, 2011
|updated = Aug. 3rd, 2014
|dependencies = Java 7
|status = Active Development
|licensing =  [[Apache 2.0]]
|language = [[Java]]
|platforms = [[Unix]], [[Linux]], [[Mac OS X]], [[Windows]]
|site = https://github.com/SquidPony/SquidLib
}}


SquidLib is used for [[Wyrm]] and [[Epigon]].
SquidLib is a Java library that provides a full featured toolbox for working with turn-based games. SquidLib is used for [[Wyrm]], [[Attack The Geth]], [[Assault Fish]], [[Epigon]], and [http://www.schplaf.org/hgames/ Dungeon Mercenary]. It provides utilities separate from graphics, allowing developers to integrate utilities into existing projects. Until version 3.0 it supported both [http://github.com/libgdx/ libGDX] and AWT and is now focusing on the libGDX version. Developed by [[Deej|Eben Howard]].


===Current Features===
== Current Features ==
*Ease Of Use
*Ease Of Use
**Standard GUI notation of (x,y) locations within the grid.
**Standard GUI notation of (x,y) locations within the grid.
**Uses Swing
**Any Font can be used
**Any Font can be used
**Images may be used alongside characters in same panel
***Characters can be used as a drop-in fallback mechanism!
**Specify Grid and Font size multiple ways
**Specify Grid and Font size multiple ways
***Set number of cells in the grid and Font to be used
***Set number of cells in the grid and Font to be used
Line 13: Line 26:
****Font is dynamically resized to fit optimally within the cell
****Font is dynamically resized to fit optimally within the cell
**Font size and style can be changed on the fly
**Font size and style can be changed on the fly
**Standard JComponent that meets Bean requirements for use with NetBeans built in GUI Builder
**Multiple grids of different configurations can be used simultaneously in the same display
**Multiple grids of different configurations can be used simultaneously in the same display
**Basic Swing animation support
*Lots of Color
*Lots of Color
**Foreground and Background can be set individually on a per-cell basis
**Foreground and Background can be set individually on a per-cell basis
**SColor class extends Color and can be used as a drop-in replacement for any awt.Color needs
**SColor class extends Color and can be used as a drop-in replacement for any awt.Color needs
**SColor chooser included to visually select named and adjusted colors
**Over 500 named colors
**Over 500 named colors
**Automatic color caching minimizes memory overhead
**Automatic color caching minimizes memory overhead
Line 23: Line 37:
**Can perform LIBTCOD style "dark", "light", and "desaturate" commands on any color
**Can perform LIBTCOD style "dark", "light", and "desaturate" commands on any color
**Can get an arbitrary amount of blend between two colors
**Can get an arbitrary amount of blend between two colors
*Full Featured API
*Roguelike Specific Toolkit
**Robust Field of View system
*Fully Documented API
**Each named color has a sample of its appearance in the Javadoc against multiple backgrounds
**Each named color has a sample of its appearance in the Javadoc against multiple backgrounds
***HTML browsing of the API shows these samples
***HTML browsing of the API shows these samples
***Pop-up javadoc in NetBeans and Eclipse show these samples
***Pop-up javadoc in NetBeans and Eclipse show these samples
**Demos of all functionality included
**Demos of all functionality included
**Demos of tying in to mouse and keyboard Swing events included
*Math Toolkit
*Math Toolkit
**Custom extension of Random allows drop-in replacement with added features
**Custom extension of Random allows drop-in replacement with added features
**Able to find Bresenham Line for 2D and 3D coordinates.
**Able to find Bresenham Line for 2D and 3D coordinates.


===Features in Nightly Build===
== Links ==
*Animations
**Slide, bump, wiggle, etc.
*Sound
**mp3, ogg, wav, etc.


* [https://github.com/SquidPony/SquidLib GitHub Repository]
* [http://squidpony.com/not-games/squidlib/ Blog]


 
[[Category:Developing]]
GitHub repository: https://github.com/SquidPony/SquidLib
 
Blog updates: http://squidpony.com/not-games/squidlib/
 
Developed by [[Deej|Eben Howard]]

Latest revision as of 02:28, 19 May 2017

SquidLib
Library project
Developer Eben Howard
Released Nov. 23rd, 2011
Updated Aug. 3rd, 2014
Status Active Development
Licensing Apache 2.0
P. Language Java
Platforms Unix, Linux, Mac OS X, Windows
Dependencies Java 7
Official site of SquidLib


SquidLib is a Java library that provides a full featured toolbox for working with turn-based games. SquidLib is used for Wyrm, Attack The Geth, Assault Fish, Epigon, and Dungeon Mercenary. It provides utilities separate from graphics, allowing developers to integrate utilities into existing projects. Until version 3.0 it supported both libGDX and AWT and is now focusing on the libGDX version. Developed by Eben Howard.

Current Features

  • Ease Of Use
    • Standard GUI notation of (x,y) locations within the grid.
    • Uses Swing
    • Any Font can be used
    • Images may be used alongside characters in same panel
      • Characters can be used as a drop-in fallback mechanism!
    • Specify Grid and Font size multiple ways
      • Set number of cells in the grid and Font to be used
        • Size of cell is adjusted to optimally fit the Font size given
      • Set size of the cell, number of cells in the grid, and Font to be used
        • Font is dynamically resized to fit optimally within the cell
    • Font size and style can be changed on the fly
    • Multiple grids of different configurations can be used simultaneously in the same display
    • Basic Swing animation support
  • Lots of Color
    • Foreground and Background can be set individually on a per-cell basis
    • SColor class extends Color and can be used as a drop-in replacement for any awt.Color needs
    • SColor chooser included to visually select named and adjusted colors
    • Over 500 named colors
    • Automatic color caching minimizes memory overhead
    • Can get a list of colors that are a gradient between two colors
    • Can perform LIBTCOD style "dark", "light", and "desaturate" commands on any color
    • Can get an arbitrary amount of blend between two colors
  • Roguelike Specific Toolkit
    • Robust Field of View system
  • Fully Documented API
    • Each named color has a sample of its appearance in the Javadoc against multiple backgrounds
      • HTML browsing of the API shows these samples
      • Pop-up javadoc in NetBeans and Eclipse show these samples
    • Demos of all functionality included
  • Math Toolkit
    • Custom extension of Random allows drop-in replacement with added features
    • Able to find Bresenham Line for 2D and 3D coordinates.

Links