Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

7DRL Success: Nyctos

1 view
Skip to first unread message

Mary Haas

unread,
Mar 14, 2009, 2:37:02 PM3/14/09
to
Nyctos: Halls of Darkness, a claustrophobic hack-and-slash through a
nightmare dungeon ruled by a dark force has been completed just under
the wire. The game was coded in Python using PAROLE, a game engine I
had previously created. The game heavily revolves around tactical
situations related to light. My friend James Madison helped out with
game design, prose, and playtesting. Coding finished at 1:40 pm, 7
weeks after starting (including an extra clock-hour for daylight
savings time). James is finishing the game FAQ, and I will upload the
game shortly.

I should note that the game is really hard and probably unbalanced. I
do not know if it's possible to beat it given the difficulty, and we
haven't beaten it yet (without wizard mode). We hope to expand it
into a larger game in the near future. Unimplemented features to
come: weapon brands, weapon materials, item construction modifiers,
skills. There are also still some bugs (including some rare crash
bugs).

This post is just to announce the cessation of coding. We will upload
the game itself (which, on our honor, we will not change in any way
after 1:40pm CDT), along with a manual, shortly.

Mary Haas

unread,
Mar 14, 2009, 4:47:59 PM3/14/09
to
As promised, the game has been uploaded. We're using google code, so
the main project page is here:
http://code.google.com/p/nyctos/

From there you can download a zip file with the windows binary
(compiled using py2exe), or check out the source code from subversion.
To run from source, you will also need to check out the engine (a
separate project) at http://code.google.com/p/parole/ and install it
("python setup.py install"). Plus PyGame, of course (http://
pygame.org). We expect to post a native OS X app soon, as well, though
it should run from source (and the game was in fact developed on a
Mac).

The manual/readme can be found on the project wiki:
http://code.google.com/p/nyctos/wiki/Manual

And screenshots:
http://code.google.com/p/nyctos/wiki/ScreenShots

Many special thanks to everyone who makes this yearly challenge
possible, and especially to Jeff Lait for organizing the dates and
announcements!

Happylisk

unread,
Mar 14, 2009, 5:46:42 PM3/14/09
to
"James Madison" here. I just played through the final 7D version and
got to D6 but died on the last level. Despite how little time we had
to balance things, it's surpringly balanced (though the fact that I
understand the mechanics as a developer helps).

For people playing, some advice and a hint:

Use healing potions as soon as soon as you have lost 30-40 hp.
Without natural regen, there is no point in saving them. Scrolls of
light are slightly helpful, but illumination much more, especially in
combination of a potion of perception. Werewolves might be the worst
mid game threat, and a potion of speed and/or strength deals with
them.

Hint: I figured out a way to beat the game without actually killing
the boss. It might even be the only practical way.

It sometimes crashes when you die. But whatever. Also restart the
game each time you die; if you press on after death your new character
will find the levels your old character found, including the dead
monsters so less exp for you.

legend....@gmail.com

unread,
Mar 14, 2009, 7:32:41 PM3/14/09
to
On Mar 14, 2:37 pm, Mary Haas <mother.musko...@gmail.com> wrote:
>
> This post is just to announce the cessation of coding. We will upload
> the game itself (which, on our honor, we will not change in any way
> after 1:40pm CDT), along with a manual, shortly.

Hey nice music during the intro. But man the outdoor exploration is
pretty dark. So far I have wandered around, and figured out how to get
into the building. I have not run into any battle scenes yet.

- Legend of Angband
http://legend-angband.blogspot.com/

MaxyB

unread,
Mar 14, 2009, 8:48:55 PM3/14/09
to
On Mar 14, 6:32 pm, legend.angb...@gmail.com wrote:
> Hey nice music during the intro. But man the outdoor exploration is
> pretty dark. So far I have wandered around, and figured out how to get
> into the building. I have not run into any battle scenes yet.

Yes, it's a dark game :)

You can always 'L'ight your torch, which helps a bit, but try not to
waste it, as it will go out eventually.

To get into the real game, just follow the road east to the second
dirt trail leading north. The dungeon is through the hatch in the rock
outcropping. We originally wanted to have more in the outdoors, but
obviously ran out of time :)

Glad you like the music -- it's from the first Castlevania.

-Max ("Mary Haas")

Mary Haas

unread,
Mar 14, 2009, 10:13:06 PM3/14/09
to
Okay, an application bundle for os x is now available from the project
page (http://nyctos.googlecode.com).

Don't ask me why it is 29.5 MB whereas the windows distribution is
only 4.6 MB. Apparently py2exe is much more efficient than py2app!

karmati...@gmail.com

unread,
Mar 17, 2009, 12:34:11 AM3/17/09
to
On Mar 14, 1:47 pm, Mary Haas <mother.musko...@gmail.com> wrote:
> As promised, the game has been uploaded. We're using google code, so
> the main project page is here:http://code.google.com/p/nyctos/
>
> From there you can download a zip file with the windows binary
> (compiled using py2exe), or check out the source code from subversion.
> To run from source, you will also need to check out the engine (a
> separate project) athttp://code.google.com/p/parole/and install it

> ("python setup.py install"). Plus PyGame, of course (http://
> pygame.org). We expect to post a native OS X app soon, as well, though
> it should run from source (and the game was in fact developed on a
> Mac).
>
> The manual/readme can be found on the project wiki:http://code.google.com/p/nyctos/wiki/Manual
>
> And screenshots:http://code.google.com/p/nyctos/wiki/ScreenShots
>
> Many special thanks to everyone who makes this yearly challenge
> possible, and especially to Jeff Lait for organizing the dates and
> announcements!

This is a very cool little roguelike! Thanks for sharing

Matthew Allen

unread,
Mar 17, 2009, 11:48:57 AM3/17/09
to
I got a crash before anything started on my 10.4.11 PPC mac. Only
compiled for intel I expect?

MaxyB

unread,
Mar 17, 2009, 3:39:14 PM3/17/09
to
On Mar 17, 10:48 am, Matthew Allen <msal...@gmail.com> wrote:
> I got a crash before anything started on my 10.4.11 PPC mac. Only
> compiled for intel I expect?

Ack, sorry about that! I was under the impression that py2app would
produce a universal binary, and that that's part of why the package
turns out so much larger than with py2exe on windows. The package
works on all my intel macs, though, so I think you must be right. At
some point I will try to get my hands on a friend's PPC mac and build
it there. In the mean time, you could try checking out the source for
the engine and the game (two separate projects), and running from
that, assuming you have python 2.5+ on your system.

-Max

Matthew Allen

unread,
Mar 18, 2009, 9:35:20 AM3/18/09
to
On Mar 17, 3:39 pm, MaxyB <max.b...@gmail.com> wrote:

> In the mean time, you could try checking out the source for
> the engine and the game (two separate projects), and running from
> that, assuming you have python 2.5+ on your system.

Don't stress too much over me. This challenge has taught me that my
poor little laptop has problems with virtually everything. I installed
pygame for another 7drl, so I'll give the source a whirl. I didn't
realize I could check it out from the repository.

Happylisk

unread,
Mar 18, 2009, 9:40:43 AM3/18/09
to

> I should note that the game is really hard and probably unbalanced.  I
> do not know if it's possible to beat it given the difficulty, and we
> haven't beaten it yet (without wizard mode).  

I would like to report that the game is beatable. In a play-through
last night I managed to beat the final boss and complete the basic
quest. Admittedly, I used a wizmode command to get from d5 to d6
since I couldn't find the stairs. However, in other play runs I've
gotten to d6 just fine (though without enough potions and decent gear
to beat the boss).

We know that one is encouraged not to add content to a 7DRL, but we
designed the game with a broader release in mind. So new features are
on the horizon!

MaxyB

unread,
Mar 19, 2009, 1:48:36 PM3/19/09
to
A more detailed description of some of the game's mechanics has been
added to the wiki Manual (http://code.google.com/p/nyctos/wiki/
Manual). I'm including it here, too, as I figured some of the
subscribers to this newsgroup might be interested in reading about yet
another combat system :). Sorry for the wikitext format, it should be
human-readable.

== Mechanics ==

=== Intrinsic Attributes ===

Your character possesses four intrinsic attributes that can be
increased upon character creation or gaining an experience level:
* *Strength:* Your strength ("STR" on the status bar) determines the
maximum total weight of items that you can carry, and affects the
amount of damage that you deal in melee combat.
* *Dexterity:* Your dexterity ("DEX" on the status bar) affects how
well you evade being hit (your EV score), as well as how likely you
are to strike an opponent in melee (your HIT score).
* *Constitution:* Your constitution ("CON" on the status bar)
affects your maximum hit points, your maximum stamina, and how quickly
you regenerate stamina.
* *Perception:* Your perception ("PER") determines the maximum
radius of your view, and the minimum amount of light that must be
present at a tile for you to be able to see it. As a result, a greater
perception score increases the effective useful radius of your light
source.

In addition, there is a fifth intrinsic attribute, *speed* ("SPD" on
the status bar), that cannot be increased when gaining a level -- it
can only be affected by items and magical effects. Every action in the
game, whether taken by your character or something else, takes time to
complete, which is simulated down to the millisecond. Every action has
some inherent _energy cost_ associated with it, and your character's
speed determines how long it takes to expend that energy, as follows
(in milliseconds):
{{{
timeOfAction = energyOfAction / (speed / 10.0)
}}}
Thus an action costing 1000 energy will take an average character
(with speed 10) 1000 milliseconds, or 1 second, to complete.

=== Derived Attributes ===

Together, the above intrinsic attributes determine a number of derived
attributes.
* *Maximum HP:* Your maximum hit points are determined by a
combination of your constitution, strength, experience level, and
dexterity, in that order of importance.
* *Maximum Stamina:* Determined in the same way as maximum HP.
*Note:* In the 7DRL version, stamina has no effect.
* *Carrying Capacity:* Determined by your strength.
* *PV:* Your protection value is only affected by worn items.
* *EV:* Your evasion value is determined by a combination of your
dexterity and speed, in that order of importance. Worn items also
affect it.
* *Hit skew:* Your hit skew ("HIT" on the status bar) affects how
likely an attack of yours is to hit its target. It is determined by a
combination of your dexterity and speed, in that order of importance,
as well as by worn items.
* *Damage skew:* Your damage skew ("DMG" on the status bar) affects
the average amount of damage dealt by your melee weapon. It is
determined by your strength and some worn items. The final amount of
damage dealt is of course also greatly affected by the weapon itself.
* *Maximum unarmed damage:* The maximum damage that can be dealt by
your character's unarmed melee attack is determined by strength.

=== Combat ===

Simply walk into a hostile monster to attack it with your character's
wielded melee weapon (or unarmed if nothing is wielded). The result of
the attack is determined in the following steps:
# The amount of time the attack takes is calculated. This is
determined by the attacker's speed, and the attack energy cost
associated with the wielded weapon. A weapon's attack energy cost is
listed in its inventory description (e.g., "A:1000"). The attack takes
this much time whether it is successful or not.
# Whether the attack hits the target is determined. First an "attack
draw" is made by drawing a number between 0 and 1 from a [http://
en.wikipedia.org/wiki/Beta_Distribution beta distribution] whose alpha
parameter is equal to the attacker's hit skew (HIT), and whose beta
parameter is a constant 10.0. Similarly, the defender makes a "defense
draw" from a beta distribution whose alpha parameter is equal to the
defender's EV and whose beta parameter is 10.0. If the attack draw is
greater than the defense draw, the attack succeeds. Otherwise it
misses.
# If the attack hit, the amount of damage dealt to the defender is
determined. Every weapon has an inherent maximum damage and damage
skew modifier (written "D:X+Y" in the inventory description, where X
is max damage and Y is damage skew). The weapon's damage skew modifier
affects the character's damage skew derived stat (DMG). First a number
(between 0 and 1) is drawn from a beta distribution whose alpha
parameter is the attacker's damage skew (DMG) and whose beta parameter
is 10.0. This drawn number is then multiplied by the weapon's maximum
damage to arrive at the actual amount of damage dealt. Thus a
character with DMG 10 will, on average, deal half of his weapon's
maximum damage, with higher or lower values of DMG skewing that in
either direction.
# Finally, the defender's PV may reduce some of the damage it
receives. A number is drawn from a beta distribution with
alpha=beta=10, and the result is multiplied by the defender's PV. This
value is deducted from the damage received. Thus the average deduction
is equal to half the defender's PV.

0 new messages