Author Topic: Animonstres (and guile-tcod)  (Read 9820 times)

Feufochmar

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
    • Email
Animonstres (and guile-tcod)
« on: September 15, 2012, 05:55:57 PM »
Animonstre is a roguelike in which you fight wild magical beasts with those you have caught. Your main goal is to catch the legendary rainbow peacock at the bottom of the dungeon and to exit the dungeon with it.
The game could be seen as a Pokémon-like played in a roguelike world.

Animonstre is coded in Scheme (guile), using libtcod for the user interface. To use libtcod from scheme, I wrote a guile module wrapping libtcod, guile-tcod. Currently, guile-tcod is an incomplete wrapper for libtcod : only functions related to user interface (colors, console, keyboard, mouse) are available.

See the README provided with Animonstres to know the key bindings.
In Animonstres, currently :
- the dungeon is one-way : on each level, there is only one (up/down)stairs to go to the next level
- the levels are generated upon entrance
- there are 10 different beast species : the legendary peacock and 3 base species (rat, dog, snake) combined with 3 magic colors (fire, thunder, poison).
- the player starts with one (non-legendary) beast randomly choosen
- there is no item to use, you only interact with the wild beasts on the map and those you have caught
- beasts possess abilities (move / spell). When you bump into a wild beast, a default ability dealing damages is used. You have access to the other abilities with the key [z]. The abilities have various effects (descriptions are provided for each abilities).
- the player character uses one beast as the "current beast" taking all damages dealt by wild beasts defining what abilities can be used (in fact, you play as the current beast, not the player character, apart when you try to catch beasts or when the current beast is dead)
- when your current beast is killed, you should switch the current beast unless you want to quickly end the game.
- switching beast is a free action (takes no turn)
- if you want, you can give a name to the beasts you have caught ([%] to show all the beasts you have, then [r] on the beast you want to give a name)
- scores are not recorded into an highscore list and only increase when you catch beasts.

You will find the two projects on gitorious :
http://gitorious.org/animonstres
http://gitorious.org/guile-tcod

Links to the tarballs :
Animonstres v0.1 :
http://gitorious.org/animonstres/animonstres/archive-tarball/v0.1

guile-tcod v0.1 :
http://gitorious.org/guile-tcod/guile-tcod/archive-tarball/v0.1

I only have an x86_64 ArchLinux on my computer and I don't know if guile-tcod (and thus Animonstres) works on other Linux distros or other OS. You may have to compile guile 2.0, libtcod 1.5.1 and guile-tcod to play Animonstres.
For those using ArchLinux, I have put on AUR the PKGBUILDs for guile-tcod and animonstres.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Animonstres (and guile-tcod)
« Reply #1 on: September 15, 2012, 06:41:35 PM »
Congrats on this initial release---the concept seems promising.   :)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

XLambda

  • Rogueliker
  • ***
  • Posts: 208
  • Karma: +0/-0
    • MSN Messenger - tau_iota@live.de
    • View Profile
    • The Weird Rogue
Re: Animonstres (and guile-tcod)
« Reply #2 on: September 15, 2012, 09:03:56 PM »
Props for the language - I love me some Scheme. ;D Definitely going to give this one a try.

Feufochmar

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
    • Email
Re: Animonstres (and guile-tcod)
« Reply #3 on: December 23, 2012, 05:41:36 PM »
I've released v0.2 of Animonstres and guile-tcod.
No many changes in Animonstres appart from the use of noise generators for varying the colors of the dungeon tiles.
In guile-tcod, addition of the following parts of libtcod in the wrapper : lines, random numbers, noise.

Animonstres v0.2 : https://gitorious.org/animonstres/animonstres/archive-tarball/v0.2
guile-tcod v0.2 : https://gitorious.org/guile-tcod/guile-tcod/archive-tarball/v0.2

Version 0.2 will be the last version of Animonstres coded using Guile Scheme. I'm currently moving to Scala so that it will be easier for me to provide something working out-of-the-box on different OS (thanks to the Java runtime).

Version 0.3 of Animonstres will be released within the next days or weeks (the scala port is almost finished).

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Animonstres (and guile-tcod)
« Reply #4 on: December 24, 2012, 02:41:08 AM »
Best of luck on the language migration.   :)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

Feufochmar

  • Newcomer
  • Posts: 5
  • Karma: +0/-0
    • View Profile
    • Email
Re: Animonstres
« Reply #5 on: December 29, 2012, 11:46:46 AM »
I've released version 0.3 of Animonstres. As I said earlier, the version 0.3 is mainly a rewrite from scheme / libtcod to scala / swing.

Source code can be retrieved on Gitorious at https://gitorious.org/animonstres/animonstres/archive-tarball/v0.3
You need Maven to build Animonstres, the target "package" will build a jar containing the dependencies of the project.

If you don't want to build Animonstres from source, you can retrieve Animonstres-0.3.0.jar (containing everything needed) at https://docs.google.com/open?id=0B15Y6L7aHcoNLWJZbngzRmM2SkU
To run it : java -jar Animonstres-0.3.0.jar