Temple of The Roguelike Forums

Announcements => Traditional Roguelikes (Turn Based) => Topic started by: tuturto on February 19, 2012, 09:38:24 AM

Title: Herculeum - 0.13
Post by: tuturto on February 19, 2012, 09:38:24 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.1 (First release)
Released: 2012-02-19
Site: https://github.com/tuturto/pyherc
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.1.zip

Very, very rough version of my own roguelike. Nothing much to do, but walk around and bumb into rats and beetles. But it's a start :)

Game crashes if you try to escape from the dungeon, so completing it is not currently possible.
Title: Re: Herculeum 0.1 released
Post by: getter77 on February 19, 2012, 12:41:49 PM
Congrats on a first release---keep at it and keep us posted!   8)
Title: Herculeum 0.2 released
Post by: tuturto on March 18, 2012, 10:42:07 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.2
Released: 2012-03-18
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.2.zip

* New section: Crypt
* Debug server for viewing game state: point your browser to http://localhost:8080/
* Squished some bugs
Title: Herculeum 0.3 released
Post by: tuturto on May 12, 2012, 07:38:27 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.3
Released: 2012-05-12
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.3.zip

* Potions now affect over course of multiple turns
* Updated documentation on actions
* Test results, test coverage and static analysis are now published online (maybe it encourages me to work more on the quality of code)
Title: Re: Herculeum released
Post by: tuturto on July 31, 2012, 09:05:28 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.4
Released: 2012-07-31
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.4.zip

* New user interface started (and almost all existing features dropped)
* Updated documentation
* Pushed code around and split the game into two parts (game and engine)
Title: Re: Herculeum released - 0.4
Post by: getter77 on July 31, 2012, 11:37:02 AM
Some solid progress in various ways these past releases----do you have a general roadmap and timetable you are striving to operate under or is it all improvisation?
Title: Re: Herculeum released - 0.4
Post by: tuturto on July 31, 2012, 03:14:06 PM
Thanks.

It's all more or less improvisation. I know that I want to write a roguelike, preferably one that can be played with xbox controller, but that's about it. I'm writing master's thesis relating to software testing, so experimenting with testing is somewhat important too.

Other than that, I try to code what ever fancy thing I currently think is interesting. Next I should do something about user interface, but PGU library is giving me some troubles with joypad support.
Title: Re: Herculeum released - 0.5
Post by: tuturto on August 24, 2012, 05:30:33 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.5
Released: 2012-08-24
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.5.zip

New features that are readily visible to players:

* User interface rewrite with PyQt
* 16 inventory window (https://github.com/tuturto/pyherc/issues/16)
* Message is shown for missed attack
* Message is shown for dying monster
* Message is shown for picked up item
* Message is shown for dropped item
* Player character can be given a name

Following new features are more technical in nature and not visible during gameplay:

* _at function added to Cutesy
* is_dead matcher added
* other components can register to receive updates from domain objects
* pyherc.rules.items.drop replaced with DropAction

Fixed bugs

* 17 Taking stairs do not update display correctly (https://github.com/tuturto/pyherc/issues/17)

Other notes

* Services are no longer injected to domain objects
* pyherc.rules.effects moved to pyherc.data.effects
* EffectsCollection moved to pyherc.data.effects
* qc added for testing
* poisoning and dying from poison tests moved to BDD side
* is_at and is_not_at changed to is_in and is_not_in
* herculeum.gui.core removed
* PGU and pygame removed as dependencies

I'm currently having some troubles generating statement coverage reports from tests (http://tuturto.github.com/pyherc/cover/index.html). If you spot something funny there, please let me know.
Title: Re: Herculeum released - 0.5
Post by: guest509 on September 07, 2012, 01:43:39 AM
  As far as joypad support, most people that have joypads know about JoyToKey. Even games that have joypad support (spelunky) I will use Joytokey because it just seems to run better. Even Binding of Isaac says "Joystick Support: Use JoyToKey (google it)"

  Just some thoughts. It'd be nice to just plug in an xbox controller and have a game work instantly with it. Very nice indeed.
Title: Re: Herculeum released - 0.5
Post by: tuturto on September 07, 2012, 04:26:46 AM
Thought of using JoyToKey or xPadder has crossed my mind. I kind of still want to try to write proper joypad support though. Regardless which way I go (real joypad support or joypad emulating keyboard) I have to redesign user interface somewhat. First version had inventory where you selected items by pressing key from a to z (just like in nethack). Current versio works by dragging and dropping with mouse. Neither really works with joypad.
Title: Re: Herculeum released - 0.5
Post by: guest509 on September 07, 2012, 07:46:44 AM
  You know who is a big Joy padder is Legend. If I remember correctly Infra Arcana did some changes on the prompting of Legend so that it would be easier to play with a joypad. You may want to check that out.

  On a personal note: I used to play WoW with a USB Super NES pad. Very fun. Amazingly so.
Title: Re: Herculeum released - 0.5
Post by: tuturto on September 07, 2012, 07:58:56 AM
Cool, thanks for the tip. I will have a look at the Infra Arcana and see how they did the user interface.
Title: Re: Herculeum released - 0.5
Post by: guest509 on September 07, 2012, 08:07:14 AM
  You know you might contact Legend on this forum. He joypads quite a bit and can tell you what works great and what doesn't. I've found him very approachable.

EDIT: Apparently he plays a ton of different games with the Joypad. Crazy bastard.
Title: Re: Herculeum released - 0.5
Post by: tuturto on September 07, 2012, 10:30:31 AM
I'll do that after I have new inventory handling in place and have actually something to show.

I played Oblivion with joypad + xPadder. It's not really designed for it, but it was mostly enjoyable experience. Which actually sparked my interest on having my own game to be playable with joypad.
Title: Re: Herculeum released - 0.5
Post by: NON on September 07, 2012, 10:41:19 AM
  You know who is a big Joy padder is Legend. If I remember correctly Infra Arcana did some changes on the prompting of Legend so that it would be easier to play with a joypad. You may want to check that out.
The change I did was to allow browsing of menus (inventory, main menu, skills, etc) with movement keys, in addition to a separate letter per menu item.
Title: Herculeum - 0.6 ARRP
Post by: tuturto on September 15, 2012, 07:44:04 PM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.6
Released: 2012-09-15
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.6.zip

New features

* Support for Qt style sheets
* Splash screen at start up
* icons can be specified in level specific configuration scripts
* new weapons added
* new inventory screen
* player can drink potions
* on-screen counters to show damage, healing and status effects
* player can wield and unwield weapons

Fixed bugs

* 22 python path is not modified before first imports
* 19 mdi user interface is clumsy to use

Known bugs

* 26 spider poisons in combat even when it misses
* 25 dying should make game to return to main screen
* 21 PyQt user interface does not support line of sight
* 18 Entities created by debug server are not shown on map
* 5 Raised events are not filtered, but delivered to all creatures

Other notes

* behave taken into use for BDD
* testing guidelines updated
* “{character_name} is almost dead” added to behave
* pyherc.rules.magic package removed

This one is actually playable with xPadder + joypad.

(http://imageshack.us/a/img820/6240/herc07.png)
Title: Re: Herculeum - 0.6 ARRP
Post by: getter77 on September 15, 2012, 08:19:15 PM
Congrats on the nice assortment of gains to join the party!   8)
Title: Herculeum - 0.7
Post by: tuturto on November 21, 2012, 10:19:40 AM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.7
Released: 2012-11-21
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download: https://github.com/downloads/tuturto/pyherc/pyherc-0.7.zip

New features

* damage is shown negative in counters
* weapons deal different types of damage
* split damage is supported
* more streamlined user interface
* status effects are shown on main screen
* #32 view to show player character
* #31 better ai for skeleton warrior
* #30 showing hit points of player
* #29 being weak against damage
* #28 damage resistance
* #24 skeleton warrior

Fixed bugs

* #34 Split damage weapons do not show full damage on screen
* #33 using stairs while there is damage counter on screen crashes game
* #27 dropping a weapon in use retains the weapon in use
* #18 bug: Entities created by debug server are not shown on map

Known bugs

* #26 bug: spider poisons in combat even when it misses
* #25 bug: dying should make game to return to main screen
* #21 bug: PyQt user interface does not support line of sight
* #10 bug: Player character creation has hard coded values
* #9 bug: Attacks use hard coded time
* #5 bug: Raised events are not filtered, but delivered to all creatures
* #3 bug: FlockingHerbivore has no memory

Other notes

* web.py is not required unless using debug server
Title: Re: Herculeum - 0.7
Post by: getter77 on November 21, 2012, 01:01:33 PM
Congrats on another nice release.   8)
Title: Re: Herculeum - 0.7
Post by: tuturto on November 29, 2012, 08:09:55 AM
Congrats on another nice release.   8)

Thanks, I'm having a blast writing this (and doing all the testing stuff, since I can use it in my thesis. There's already examples there what happens when weak goblin gets poisoned or hit by strong adventurer.)

At some point in the future I have to look into how to make executable version of my game, so that people don't have to install Python and all the libraries just to play it.
Title: Re: Herculeum - 0.7
Post by: getter77 on November 29, 2012, 12:51:07 PM
Definitely, that way a much larger audience can be reached...perhaps for v1.0?
Title: Re: Herculeum - 0.7
Post by: tuturto on December 02, 2012, 09:24:38 AM
I played around a bit with py2exe and while there are still some bugs to iron out, there's now a version that should run without Python installation or all the libraries (stressing the _should_). Grab it while it's hot from: https://github.com/downloads/tuturto/pyherc/herculeum_0.8_preview.zip

Debug server does not work correctly in this version and logging has been disabled. It also needs Microsoft Visual C++ 2008 Redistributable Package to run (there's download link in the installation instructions), if there is no Python or Visual Studio installation on the computer.

Would be nice to know if people actually get this up and running.
Title: Re: Herculeum - 0.7
Post by: getter77 on December 02, 2012, 01:07:46 PM
Didn't have time to do otherwise, but congrats----it does indeed boot to the main screen with Adventurer displayed and there was no issues exiting out from it either.
Title: Re: Herculeum - 0.7
Post by: tuturto on December 02, 2012, 01:34:35 PM
That's great news, thanks for checking that for me!

Now I have a good reason to update the manual and make the game easier to play from point of view of user interface :)
Title: Re: Herculeum - 0.8
Post by: tuturto on December 31, 2012, 08:23:51 PM
Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.8
Released: 2012-12-31
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct downloads
 * source: http://dl.bintray.com/content/tuturto/python/pyherc-0.8-src.zip?direct
 * windows executable: http://dl.bintray.com/content/tuturto/python/pyherc-0.8-bin.zip?direct

New features

* amount of damage done is reported more clearly
* new area: Crimson Lair
* weapons may have special effects that are triggered in combat
* 45 feature: ranged combat
* 44 feature: armours
* 43 feature: support for vi and cursor keys
* 40 feature: executable for Windows
* 39 feature: the Tome of Um’bano
* 37 feature: creating a new character
* 36 feature: escaping the dungeon
* 35 feature: crimson jaw
* equiping and unequiping raise events

Fixed bugs

* 26 bug: spider poisons in combat even when it misses
* 10 bug: Player character creation has hard coded values

Known bugs

* 42 bug: character generator generates incorrect amount of items in inventory
* 38 bug: damage effect does not take damage modifiers into account
* 25 bug: dying should make game to return to main screen
* 21 bug: PyQt user interface does not support line of sight
* 9 bug: Attacks use hard coded time
* 5 bug: Raised events are not filtered, but delivered to all creatures

Other notes

* 41 player character configuration
* Aspyct is no longer needed to run the game
* behave tests moved under src/pyherc/test/BDD
* parts of the manual are generated directly from game data
Title: Re: Herculeum - 0.8
Post by: getter77 on December 31, 2012, 10:08:02 PM
A mighty changelog to banish 2012 with!   8)
Title: Herculeum - 0.9
Post by: tuturto on August 03, 2013, 07:57:12 PM
After bit of a hiatus, a new version has been released. From now on, new versions will be hosted at the cheeseshop, so installing is as easy as:

Code: [Select]
pip install hy
pip install decorator
pip install herculeum

There aren't that many visible changes in this release. The most notable is new AI routines for some of the monsters, which should make them more interesting. Under the hood things have changed somewhat: support for Python 2.x has been dropped and only 3.x is supported. AI routines are written in Hy (Lisp dialect) and install package is hosted at PyPi.

Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.9
Released: 2013-08-03
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download:
* https://pypi.python.org/pypi/herculeum
* or install with pip

New features

* 46 curses interface

Fixed bugs

* 48 bug: Effects with None as duration or frequency cause crash when triggered

Known bugs

* 42 bug: character generator generates incorrect amount of items in inventory
* 38 bug: damage effect does not take damage modifiers into account
* 25 bug: dying should make game to return to main screen
* 21 bug: PyQt user interface does not support line of sight
* 9 bug: Attacks use hard coded time
* 5 bug: Raised events are not filtered, but delivered to all creatures

Other notes

* 47 switch to Python 3
* Hy added as a dependency
* Windows binaries not supported anymore (should still work straight from the source though)
Title: Re: Herculeum - 0.9
Post by: getter77 on August 04, 2013, 11:54:29 AM
Nice to see yet more progress, unfortunate though about losing the windows binaries for convenience.
Title: Re: Herculeum - 0.9
Post by: tuturto on August 04, 2013, 02:19:08 PM
True, those windows binaries were really nice. I'll try to get a virtual machine set up for the next release, so I can try providing them again.
Title: Re: Herculeum - 0.9
Post by: tuturto on August 04, 2013, 03:14:55 PM
Made a short video of the game with the new curses interface: http://youtu.be/4xPhfwcytZU
Title: Re: Herculeum - 0.13
Post by: tuturto on May 31, 2014, 06:01:43 PM
Couple releases have passed, so here's a cumulative change log:

Title: Herculeum
Summary: Simple Rogue clone written in Python.
Version: 0.13
Released: 2014-05-31
Site: https://github.com/tuturto/pyherc
Online manual: http://tuturto.github.com/pyherc/index.html
Direct download:
* https://pypi.python.org/pypi/herculeum
* or install with pip

New features

84 feature: new player character, dragon de platino
81 restructure dungeon layout
77 feature: monsters can swap places with each other
68 feature: change direction of character when walking
66 feature: animation system
65 feature: cleaner AI routines
62 feature: new trap, pit
15 feature: new monster fungus
feature: new set of graphics and animations
feature: regular movement and attack can be done only to cardinal directions
feature: characters can wait for a bit without doing anything
feature: new player character, mage

Fixed bugs

86 bug: patrol AI sometimes gets very confused
82 bug: if player is the last character in level, dying will put game into an infinite loop
76 bug: it is impossible use stairs, if there is a creature standing on the other end
72 bug: moving does not take weight of armour into account
69 bug: layering of icons
54 bug: weapons with multiple damage types cause attacker to move
42 bug: character generator generates incorrect amount of items in inventory
38 bug: damage effect does not take damage modifiers into account
9 bug: Attacks use hard coded time, when they should observe speed of the weapon
5 bug: Raised events are not filtered, but delivered to all creatures

Known bugs

89 bug: CharacterBuilder does not add character to given level
25 bug: dying should make game to return to main screen
21 bug: PyQt user interface does not support line of sight

Other notes

53 moved many actions (moving, combat, etc) from Character class to separate functions
83 prototype using dictionary instead of list of lists for level structure
73 update to latest version of Hy
ability to specify starting level on command line

Title: Re: Herculeum - 0.13
Post by: Zireael on May 31, 2014, 06:34:39 PM
I downloaded it and got reminded why I hate python. I click setup and the black window just flashes by, leaving no logs and no way to tell what happens. I click herculeum and same happens.
Title: Re: Herculeum - 0.13
Post by: tuturto on May 31, 2014, 08:03:44 PM
Thanks for trying and sorry that it's one of the many things that sadly are still very unpolished in the game.

setup.py is configuration file for setup tools and not meant to be run directly. Instead, a package manager should be used (pip is recommended). Also, creating a virtual python environment is not a bad idea either (virtualenv is my choice for this), so you don't break system packages.

Until I get all that sorted out in a user friendly way, one has to first install PyQt 4 (http://www.riverbankcomputing.co.uk/software/pyqt/intro), then create virtual env and activate it (instructions for linux, mac and windows users probably have to first install virtualenv or homebrew).

Code: [Select]
virtualenv -p /usr/bin/python3 --system-site-packages herc
source herc/bin/activate

After that there's few libraries and the game that needs to be installed with pip:

Code: [Select]
pip install -U hy
pip install -U decorator
pip install -U docopts
pip install -U herculeum

After that, game can be run from command line (silent option turns off logging):

Code: [Select]
herculeum --silent

More complete instructions are available at: http://tuturto.github.io/pyherc/manual/intro.html#installing-the-game

All this needs to be sorted out eventually in a way, that user can just double click something and get the game up and running.