Category Archives: SquidLib

More Goodies in SquidLib!

Progress keeps progressing!

Since putting up the how-to video for installing SquidLib, I’ve been hard at work adding more new things.

First up are a couple dungeon generation algorithms I ported from rot.js by Ondrej Zara.

 

Most excitingly, here is some output from the Classic Rogue generator:

Generated in SquidLib, this dungeon is in the style of those found in Rogue

Generated in SquidLib, this dungeon is in the style of those found in Rogue

Now you can more easily make your roguelike more like rogue!

 

Next up is a maze:

Created by a maze building algorithm in SquidLib.

Created by a maze building algorithm in SquidLib.

 

And lastly, some new methods for getting random points inside a shape:

A sample of randomly chosen points from SquidLib.

A sample of randomly chosen points from SquidLib.

These random point methods are attached to the RadiusStrategy interface so they’ll line up with whatever Field of View and Line of Sight shapes you’re using.

If you don’t yet have it, you can get all the SquidLib releases here: https://github.com/SquidPony/SquidLib/releases

Posted in SquidLib | Tagged , , , , , , , , , , , | Leave a comment

SquidLib NetBeans and Eclipse Installation Tutorial

Library Install, won’t you?

I’ve put up a video on installing SquidLib as a library in both NetBeans and Eclipse. You can see it here: http://youtu.be/FLt-DwvRnVM

In the video I go through getting the library, getting the IDEs, setting the IDE to have SquidLib as an available library, and making a short example code to show it all working. I hope it helps you start your Java roguelike games more easily!

It's really simple to get an output window running.

It’s really simple to get an output window running.

Here’s the code in the above image:

 

Posted in SquidLib | Tagged , , , | Leave a comment

SquidLib 2.0 on the Way!

SquidLib 2.0 alpha 1 is out!

This means the newest, sexiest, and most used Java roguelike library can be yours today!

This release is self-stable and feature-complete. It is the recommended version to use until a newer one comes along as it reduces the complexity of SquidLib 1.95 considerably while adding new features. The only two features removed from 1.95 are highlighting and libgdx support. It is the first SquidLib release to use Java 8.

This version is an alpha as many sections may move or have method names and signatures modified. For example all “character” placement methods now accept code points internally rather than char types. At the end user level however the overload with a char parameter still exists for convenience purposes.

For most projects conversion from 1.95 to 2.0a1 should be fairly painless. I’ve converted all of the example code projects and for the most part it was a matter of simply replacing the placeFoo() calls with put(), which is the new universal grid placement method name.

Again, this is a self-stable and feature-complete version and can be used without being required to switch to a later version when one becomes available unless a desired feature has been added to the newer version.

Posted in SquidLib | Tagged , , , | Leave a comment

SquidLib Version 1.95 Released!

Lots of fancy new features in this version of SquidLib!

But first, a picture of FOV in action:

On an island in a lake in the mountains south of the marshlands.

On an island in a lake in the mountains south of the marshlands.

There are a variety of Field of View algorithms built in, along with an assortment of wrappers to really allow customization of their output. My personal favorite is the TranslucenceWrapperFOV with a ShadowFOV base, which is what you see in the image above.

Other FOV algorithm options include a water-like spread, outward rippling, and Elias-based ray casting.

There are currently two Line of Sight algorithms, Bresenham which draws a direct line, and Elias which draws an anti-aliased line. The following two images display the differences.

Bresenham LOS can't see around corners if the "drop" is the wrong direction.

Bresenham LOS can’t see around corners if the “drop” is the wrong direction.

Elias LOS can see around corners as naturally expected due to checking an anti-aliased line.

Elias LOS can see around corners as naturally expected due to checking an anti-aliased line.

 

Get the newest version at the github repository, including a convenient zip of this release! Also check out the demo applications, there’s a lot of usage scenarios laid out in them.

Posted in SquidLib | Tagged , , , , , , , , | 3 Comments