Author Topic: Hydra Slayer  (Read 17752 times)

kraflab

  • High Priest
  • ****
  • Posts: 454
    • View Profile
    • kraflab.com
Re: Hydra Slayer
« Reply #15 on: July 21, 2012, 01:04:23 AM »
I really like the fire hydra's animation.

Sometimes the heads overlap and it's unclear if for instance it is a 3-headed or 2-headed hydra early on.  Of course, the numbers are in the hud so it doesn't matter particularly much.

At first I thought I was going to be against the animation in general, but I think it really works out well here.

The red text change near death works great and caught my eye immediately.

Just a flavor thing, perhaps you can have a specific song that plays upon death.

I was thinking it would be nice if there was a key that instantly takes you to the next level once all the hydra are dead, such as '>', since as far as I can tell there is no way to die from the dungeon when there are no hydras around.  You could just add "press > to move to the next floor" or something like that.  I guess it depends if you want to break the immersion of needing to walk to the staircase.

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #16 on: July 22, 2012, 03:49:49 PM »
Thanks!

Good idea about death music, will do it later.

Auto-explore ('o') does move to the stairs. Although it explores the level first and picks up any remaining items first. Is there any reason to ignore that and just move to the stairs? Or to say about this whenever a floor is completed (or just occassionally)? Previously it had problems dealing with mushrooms, so now, it removes them automatically if all hydras are defeated.

Technically you can get killed after all the hydras all killed, although that's quite hard to do (well, with Twins this is easy).

Changelog 13.7 Unless something is wrong, the is supposed to be the last version, for now.

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #17 on: July 22, 2012, 08:56:29 PM »
Technically you can get killed after all the hydras all killed, although that's quite hard to do (well, with Twins this is easy).

You may laugh, but I got reckless once after eradicating all hydras on a toroidal level and stuck some arrows in my back due to a typo... did not kill me but still kinda lame losing health like that.

Unless something is wrong, the is supposed to be the last version, for now.

I did not manage to reproduce lose turn on bow switch bug in recent versions. Either it does not appear when I am specifically looking for it or (hopefully) it was some kind of a delusion.

Oh, I love hydra animations. Really neat!
Michał Bieliński, reviewer for Temple of the Roguelike

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #18 on: July 27, 2012, 08:21:05 PM »
The thread is about Hydra Slayer but I think feedback about NotEye is useful too.

The sample game is step in right direction but the lua part could use some comments. I figured out how to merge tiles and how to make external functions available in .noe configuration files. Still, without reading generic-tile.noe I would be at a loss.

Some random comments:
  • It is not obvious that xtileaux2 is meant to be written.
  • Arguments to xtileaux2 could use explaining. I guessed half immediately but had to think hard what the rest does.
  • I would like to be warned that overriding xtile and using floorcol or wallcol requires you to define global_uu or nil argument will be passed to tilerecolor ending program.
  • Advice to use ssMon / ssItem / ssFloor instead of sums of spFlat, spFloor, etc. would save me some time.
  • Defining NOAUDIO before inclusion of noteye.h stops compilation because MixMusic is not defined. Adding the missing typedef solves the problem.
Michał Bieliński, reviewer for Temple of the Roguelike

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #19 on: July 30, 2012, 02:35:55 AM »
Yes, I know that NotEye is heavily lacking comments and other documentation. NotEye is still in development, and I care more about new features than about documentation.

In most cases it is best to override xtileaux2 (as most included games do), as it correctly initializes the framework in generic-tile.noe (so floorcol and wallcol will work). Probably I should change the naming, "xtileaux2" sucks.

Thanks!

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #20 on: August 09, 2012, 03:47:49 PM »
In 13.7 I can't seem to use numpad to control Hydra Slayer so matter what I try.
Michał Bieliński, reviewer for Temple of the Roguelike

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #21 on: August 09, 2012, 05:27:07 PM »
Strange... works for me. I know that ADOM movement is broken in NotEye 5.7, but this bug is unrelated.

Do arrow keys work? A sanity check: aren't you trying to move diagonally in 4-dir move?

Are you playing the graphical version or the Curses version? I think that NotEye does not support numpad in the Curses mode, so that might be the problem.

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #22 on: August 09, 2012, 08:43:57 PM »
Yes, arrows are handled well. 8-way. Numlock is off.

Moving north west moves east instead.
Moving south west moves west instead.
Everything else works.

The problem is both in Curses and graphical versions.

Maybe I screwed up something in the config file. Will redownload and recompile.
Michał Bieliński, reviewer for Temple of the Roguelike

kraflab

  • High Priest
  • ****
  • Posts: 454
    • View Profile
    • kraflab.com
Re: Hydra Slayer
« Reply #23 on: August 11, 2012, 11:09:32 AM »
Just fyi, 8-way numpad works fine for me as well with the current version.

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #24 on: August 16, 2012, 01:46:17 PM »
No idea about the directions, but NotEye 5.8 is released. I have fixed the NOAUDIO problem, but no new documentation.

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #25 on: August 22, 2012, 05:32:19 AM »
Hello and thanks for NotEye 5.8. Some nice touches there. By the way, the link in your post leads astray.

To solve direction problem add "C(HOME) C(END)" to curses_to_sdl table in consout.cpp.

Feature request: please make noteye_erase, noteye_addch, noteye_clrtoeol and noteye_move depend on actual console dimensions. Hardcoded values prevented me from writing to lowermost log line and gave me quite a head scratcher because I was looking for the cause on my side.
Michał Bieliński, reviewer for Temple of the Roguelike

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #26 on: August 22, 2012, 03:08:50 PM »
Thanks! I think I have copied these functions from Hydra Slayer from Android, and they were hardcoded because it wanted only 80x25, and forgot about that. I will fix it later (I assume that you have fixed it for yourself for now).

Ancient

  • High Priest
  • ****
  • Posts: 453
    • View Profile
Re: Hydra Slayer
« Reply #27 on: August 29, 2012, 04:57:45 AM »
I have a question about NotEye. My lua code causes it to display tiles without transparency in FPP, mini tiles and double mini tiles mode but everything works as expected in tiles and isometric mode.

Here is code snippet:

function xtile (C, x, y)
  if C == 0 then return outofscreen end
  local M = map_contents(x, y)
  if M.usecache then return readcache (x, y) end

  local tile = tilespatial (tilefill (0), ssFloor) -- totally black
  if M.flx then tile = tilemerge (tile, tilespatial (tileat (M.flx, M.fly), ssFloor + spCeil))
  elseif M.wlx then tile = tilespatial (tileat (M.wlx, M.wly), ssWall)
    end
  if M.ftx then tile = tilemerge(tile, tilespatial(tileat (M.ftx, M.fty), ssFloorv)) end
  if M.itx then tile = tilemerge(tile, tilespatial(tileat (M.itx, M.ity), ssItem)) end
  if M.crx then tile = tilemerge(tile, tilespatial(tileat (M.crx, M.cry), ssMon)) end
  writecache (x, y, tile)
  return tile
  end


Any ideas?
Michał Bieliński, reviewer for Temple of the Roguelike

Z

  • Protector of the @
  • *****
  • Posts: 905
    • View Profile
    • Z's Roguelike Stuff
Re: Hydra Slayer
« Reply #28 on: August 29, 2012, 12:55:11 PM »
I suppose that it is some bug in NotEye... IIRC NotEye uses SDL's blit function when scaling is not required, and does it on its own when scaling. Maybe SDL does as expected and scaling does not, and that's why tiles work and mini-tiles do not (they are implemented in a very similar way).

Maybe you could try giving the alpha value to your transparency key? Try 0xFFrrggbb instead of 0xrrggbb (or grab the value directly with getpixel).

Darren Grey

  • Protector of the @
  • *****
  • Posts: 1934
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Gruesome Games
Re: Hydra Slayer
« Reply #29 on: August 30, 2012, 09:45:17 AM »
I must admit, I have tried many times over the past couple of years to get into Hydra Slayer and failed.  I'm not sure why, since I think the base gameplay is very cool.  I guess part of it is my many attempts to try the Android version, which has some basic interface problems.

But the look of the game is also a bit of a thing for me.  Too many garish colours, especially those horrible magentas and cyans.  With the NotEye integration can you not now choose a better palette?

The starting screen is too messy too, in my opinion.  I'd appreciate something cleaner, with a separate help screen for all the extra info, a bit like ADOM's start menu.  The various options presented with their keyboard commands highlighted look untidy and should be split into a game options screen.

The racial descriptions are longer than they need to be, or at least could have a little summary of the key traits at the start.  For instance:

Human
 * No special strengths
 * No special weaknesses
 * More versatile overall

Titan
 * Hits with both weapons at once
 * Half regular speed
 * Cannot carry items between levels

Centaur
 * More skilled with bows
 * Cannot do sweeping attacks

As much as I normally prefer ASCII, the animated tiles are now more functional in many ways.  Seeing flames on a fire hydra and linking that to your flaming sword is much clearer than trying to match colours.  The tiles themselves... meh, though I like the hydras.  I think the main character tiles could use a bit of touching up (maybe with a more cartoony style?), and scrolls should be a lighter colour to stand out.  I'm not big on the dark floor tiles either.

A tutorial would likely help new players.  Not sure if you have the time, but a simple set dungeon with a couple of hydra types and weapons to pick up and scrolls to use would really boost the game's accessibility.

Death is a little poorly managed at the moment.  The game should properly pause and change to another mode, with perhaps a simple menu offering "1. Character dump, 2. Restart human, 3. Restart titan, 4. Restart twins, 5. Restart centaur, 6. Exit game".

For the Android version a touchscreen HUD would be hugely appreciated.  Having to go into the menu to pick up items and perform other common actions is very cumbersome.

As for general gameplay, it's balanced, fun, engaging, challenging and unique.  I'm not very good at it, I think partly because it does require such concentration and too often I play when tired.  I'd maybe appreciate smaller levels and smaller FOV.
« Last Edit: August 30, 2012, 10:08:10 AM by Darren Grey »