Difference between revisions of "Roguelike Library For Java"

From RogueBasin
Jump to navigation Jump to search
(from the photos, this implementation of permissive FOV is far from precise)
m (Reverted Pi's change (see discussion). Added links to first mention of methods.)
Line 23: Line 23:


* Field of View
* Field of View
** Precise Permissive  
** [[Precise Permissive Field of View]]
** Shadowcasting.
** [[Shadow casting]].
* Cone Field of Vision
* Cone Field of Vision
** Precise Permissive  
** Precise Permissive Field of View
** Shadowcasting.
** Shadow casting.
* Line of Sight
* Line of Sight
** Bresenham
** [[Breshenham's Line Algorithm | Bresenham]]
** Symmetric Bresenham
** Symmetric Bresenham
** Opportunistic Bresenham
** Opportunistic Bresenham
** Precise Permissive  
** Precise Permissive Field of View
** Shadowcasting.
** Shadow casting.
* Projection
* Projection
** Bresenham
** Bresenham
** Symmetric Bresenham
** Symmetric Bresenham
** Opportunistic Bresenham
** Opportunistic Bresenham
** Permissive  
** Precise Permissive Field of View
** Shadowcasting
** Shadow casting




Line 52: Line 52:


|-
|-
! Permissive
! Precise Permissive Field of View
! Shadow Casting
! Shadow Casting
|-
|-
Line 128: Line 128:
|-
|-
! Shadow Casting
! Shadow Casting
! Permissive
! Precise Permissive Field of View
! Bresenham
! Bresenham
|-
|-

Revision as of 05:34, 12 January 2008

Roguelike Library for Java
Beta Project
Developer datta_sid
Theme SciFi/Fantasy/Anything you can imagine
Influences Roguelikes
Released December 15, 2007
Updated
Licensing Open Source
P. Language java
Platforms All
Interface ASCII, Tiles, Keyboard, Mouse
Game Length {{{length}}}
Official site of Roguelike Library for Java



This is a modular easy to use Java library for developing Roguelike Games.

Introduction

The purpose of this library will be to provide functions like Line of Sight, Field of View, Pathfinding, Dungeon generation, etc that you will need for writing your Roguelike, but the code that is either hard to find or hard to separate out from existing projects.

Features

Currently this library provides the following :

  • Field of View
  • Cone Field of Vision
    • Precise Permissive Field of View
    • Shadow casting.
  • Line of Sight
    • Bresenham
    • Symmetric Bresenham
    • Opportunistic Bresenham
    • Precise Permissive Field of View
    • Shadow casting.
  • Projection
    • Bresenham
    • Symmetric Bresenham
    • Opportunistic Bresenham
    • Precise Permissive Field of View
    • Shadow casting


Examples

Some examples of this library in action :


Field of Vision
Precise Permissive Field of View Shadow Casting
                   
         ......     
     ..  .......    
     ..  .........  
      .. .........  
  ..   . .........  
  ...  .......... ..
 ..#... .#.....#....
 .......#.......... 
 ..............#....
 #........@.........
 ...........#       
 .....#.......      
 ..# #.........     
    ...........#    
   ..............   
   ...............  
   ......#..#.....  
     .#.........    
      ......... 
                      
          .         
      . .......     
    .............   
    ..............  
  .  ... .......... 
  ..# ............# 
  .... .............
 ..#... .#.....#....
 .......#...........
 ..............#....
 #........@..........
 ...........#.......
 .....#....... .....
 ..# #.......... ...
    ...........#.# .
  ...............   
  ................  
   ......#..#.....  
    ..#.........#   
      .........     
          .         

Field of Vision in a cone

                    
          @         
          ....      
           ....     
           ......   
           ...#.... 
            ... ... 
            .... .  
            .....   
             ...    
             ..     
                    

Line of Sight/Projectile path

Shadow Casting Precise Permissive Field of View Bresenham
.#..............#...#
..........#..........
..........@.#....#...
........./.....#.....
.........|...........
#.....#.#|...........
..#...../......#.....
.##..............#..#
............#........
.......#......##.....
.....*...............
.....................
.#..............#...#
..........#..........
..........@.#....#...
........./.....#.....
.........|...........
#.....#.#|...........
..#...../......#.....
.##..../.........#..#
.......|....#........
....../#......##.....
.....*...............
.....................
 
 
 
......
.@....
.#\...
..|...
..*...
......