NGStar


Download

Grab the latest version : List of downloadable files

If you’re like me this section is the first one you look for when you come to a software project website. « Show me the code ! » say the crowd, so here it is ;)

Well, you may at least take a look at the Changelog before.

Or see what the older ones looked like : Archive

Then see what you might expect from future releases from the TODO file.

What is it ?

NGStar is a clone of a HP48 game called dstar.

The goal is to catch all gifts in the level to get access to the next one.
Use the ball to catch them, use the cube to stop the ball. The ball only move to the next obstacle (wall or cube).

options are :
see ngstar.* –help

during the game keys are :
* ‘space’ to select the thing to move, ball or cube
* arrows to move
* ‘n’ to go to the next level
* ‘p’ to go to the previous level
* ‘r’ to restart the current level
* ‘q’ or Escape to quit the game

The ball can ‘eat’ the gifts (magenta losanges), the cube ‘eat’ nothing but it will help you stopping the ball.

Level Design

A level file is composed by 144 cells
cell types:
W : wall
C : cube
B : ball
G : gift
‘ ‘ (space) : empty

example:
the level
WWWWWWWWWWWWWWWW
WWWGGGGGGGGGGWWW
W WW B WW W
W WW WW W
W W
W WW WW W
W WW C WW W
WWW WWW
WWWWWWWWWWWWWWWW

is stored like that in the file (no carriage return):
WWWWWWWWWWWWWWWWWWWGGGGGGGGGGWWWW WW B WW WW WW WW WW WW WW WW WW WW C WW WWWW WWWWWWWWWWWWWWWWWWW

levels are groupped in a levelset. A levelset is a directory containing level files
named 1 2 3 .. n. Each file contain one level. levelsets are stored in $PREFIX/share/share/ngstar-<version>/levels/
You can play a specific levelset using the -l<levelset_name> or –levelset<levelset_name> option.

You can also play gstar levels, just rename files to make a levelset

Theme Design

A theme is made of a directory containing 7 (seven) 20x20pixels image files :

tex_ball.png           : texture used for the ball
tex_cube.png           : texture used for the cube
tex_empty.png          : texture used for empty spaces
tex_wall.png           : texture used for the walls
tex_ball_selected.png  : texture used for the ball when selected
tex_cube_selected.png  : texture used for the cube when selected
tex_gift.png           : texture used for the little things you have to catch

Themes goes in $PREFIX/share/ngstar/levels/

Screenshots

FLTK

NGStar FLTK2 GUI screenshot

NCurses

NGStar ncurses

Installation

The classical :
$ ./configure –help
$ ./configure
$ make
$ make install

Requirements

To compile you’ll need : a C compiler and :

  • FLTK2 for the FLTK2 GUI
  • NCurses for the NCurses GUI

Slackware logo