7drl starting announcement : MoE (Mines of Elderlore)

19 views
Skip to first unread message

Altefcat

unread,
Feb 9, 2008, 4:58:41 AM2/9/08
to
Hello everybody,

I've started yesterday to write a dungeon generator for Lands of
Elderlore, and it is shaping well, so I decided to try to use it in a
little 7drl roguelike. Here are the features I'll try to implement in
it :
* levels will be permanent
* each level will have one way up, and zero, one or two ways down
* monsters will wander through dungeons, from M1 (monster level 1) to
M9 (monster level 9).
* you will get xp by killing monsters with equal or higher level than
you
* combats will only be melee type, with guaranty damage of attacker
level
* there will be gold and healing potions around levels for you to grab
* when you die, your score is your gold number

I'll post here my progress; wish me good luck !

Ido Yehieli

unread,
Feb 9, 2008, 5:17:14 AM2/9/08
to
On Feb 9, 10:58 am, Altefcat <edemp...@gmail.com> wrote:
> I've started yesterday to write a dungeon generator for Lands of
> Elderlore, and it is shaping well, so I decided to try to use it in a
> little 7drl roguelike.

At this rate nobody will actually be left for the challenge :)

Good luck altefcat!

-Ido.

Mario Lassnig

unread,
Feb 9, 2008, 6:41:28 AM2/9/08
to

good luck :)

Altefcat

unread,
Feb 9, 2008, 6:56:33 AM2/9/08
to
Thanks ! I need to add that I may use some parts of Lands of
Elderlore, like FOV or animal moves.

Altefcat

unread,
Feb 9, 2008, 8:10:53 AM2/9/08
to
I've uploaded the code after one day; it is available here :
http://landsof.elderlore.com/files/moe/moe-day1.py

Code is in Python, you need Numeric to launch it.

After 1 day, a dungeon floor is displayed, with corridors and rooms
made of walls ('##') and empty places ('..'). There are doors ('++')
at each room exit, and either down stairs ('<<'), up stairs ('>>') or
gold ('$$') in dead-ends.

The code is made so that one can change the floor size, the number of
rooms and the random seed. Comments and variable are in french right
now, I plan to translate them in english in the following days.

Now I need to use Curse to display the dungeon floor; I'll get help
from the fov piece of code in Python on Roguebasin. Then I'll add the
player, and see how I can move it around persistent dungeons. Then
I'll probably use Lands of Elderlore fov, add monsters and make them
move with another piece of code from LoE, or perhaps I'll use A* if
it's not too greedy on the CPU.

The dungeon code made me start this 7drl, but that's the persistent
feature that I really want to push to the end. The idea is simple :
- you start with the name of the dungeon, and use it as a random seed.
From each floor, you can descend to two other floors, and so on. When
you die, your score is attached to the dungeon name.
- There won't be randomness (except the one from the name seed), so it
will be possible to compare scores from a player to another, and
exchange stategies about how to pass nasty passages, etc.

Samel - Luchino

unread,
Feb 9, 2008, 8:19:27 AM2/9/08
to
> - you start with the name of the dungeon, and use it as a random seed.
> From each floor, you can descend to two other floors, and so on. When
> you die, your score is attached to the dungeon name.
> - There won't be randomness (except the one from the name seed), so it
> will be possible to compare scores from a player to another, and
> exchange stategies about how to pass nasty passages, etc.

Great idea!! Never tought about it [in 1 month of roguelike dev]
but may it's a great feature if you could include something like
"Do you prefer to play randomly or with a spcific seed?"
So people that want to play randomly can chose.


Altefcat

unread,
Feb 9, 2008, 8:27:04 AM2/9/08
to
> Great idea!! Never tought about it [in 1 month of roguelike dev]
> but may it's a great feature if you could include something like
> "Do you prefer to play randomly or with a spcific seed?"
> So people that want to play randomly can chose.

Yes, I'll use something like that. You'll have a random seed the first
time you play, and then after the first death, you'll start by default
on the same dungeon. In moe-day1.py, if you set "random" as the name
of the dungeon, it will create a different one each time.

Timofei Shatrov

unread,
Feb 9, 2008, 12:50:53 PM2/9/08
to
On Sat, 9 Feb 2008 01:58:41 -0800 (PST), Altefcat <edem...@gmail.com> tried to
confuse everyone with this message:

Hmm, that looks very similar to The Sewer Massacre (except for branching levels
and wandering monsters).

--
|Don't believe this - you're not worthless ,gr---------.ru
|It's us against millions and we can't take them all... | ue il |
|But we can take them on! | @ma |
| (A Wilhelm Scream - The Rip) |______________|

Altefcat

unread,
Feb 9, 2008, 2:16:12 PM2/9/08
to

>
> Hmm, that looks very similar to The Sewer Massacre (except for branching levels
> and wandering monsters).
>

Never heard of this roguelike, but I'll look at it *after* my 7drl is
release :p.

Altefcat

unread,
Feb 10, 2008, 1:48:55 AM2/10/08
to
Here is the code after the second day :
http://landsof.elderlore.com/files/moe/moe-day2.py
You need Python, Numeric and Curse to launch it.

I have added Python shadowcasting implementation from Roguebasin in
MoE (http://roguebasin.roguelikedevelopment.org/index.php?
title=Python_shadowcasting_implementation), so now I have field of
view and Curse display. FOV is blocked by walls and doors, unless you
bump into a door, which open it and free the view. You cannot close
doors, I think I'll keep it like that to add some tactical challenge
(don't open too many doors if you don't want to be chased by a horde
of monsters).

Next I need to clean the code and manage the stairs.

Altefcat

unread,
Feb 10, 2008, 5:28:54 PM2/10/08
to
Here is my progress so far:
http://landsof.elderlore.com/files/moe/moe-day3.py
(You still need Python, Numeric and Curses to launch it)

I am having a hard time adding the fov system; I have finally used the
same one from Lands of Elderlore, but I'm still not very happy about
it.

Anyway I am getting used to Curses, which I never used before (go
Pygame, go !). Right now you can move around, grab gold and go
downstairs. Tomorrow I hope I'll add upstairs (not so easy if I want
to keep persistence) and perhaps some monsters.

As a sidenote, I found that grabbing that gold in those dead ends is
pretty boring, I need some brilliant idea to enhance my gameplay...

Altefcat

unread,
Feb 11, 2008, 4:59:42 PM2/11/08
to
Here is day 4 code source:
http://landsof.elderlore.com/files/moe/moe-day4.py

Now the player can travel down and upstairs, and persistence is there
(and memory). I have reversed FOV to the one in Roguebasin article,
but this time it works as intended, so now I'll leave it like
that ;-).

Some monsters populate the rooms, and start chasing the player if the
player sees them. If at one cell from the player, they attack him and
instantly remove HPs. But no collision is made between two monsters.

So far so good, I've good hopes to finish this in time, but I am not
sure it will be fun at all. I need to keep a day or two at the end to
try to balance it...

Samel - Luchino

unread,
Feb 11, 2008, 5:19:07 PM2/11/08
to

I think one day is enought to get a 7DRL balanced, at least to get it
playable.
I've coded and tested [only essential thing] for 5 day. The 6-th day
balanced the game and the 7-th day bug-hunt [down the maze].
May be i'm wrong, but in 7 day you cannot balance the game very well,
you can only
make it playable and, more interesting, FUN!.
Am i wrong?

Altefcat

unread,
Feb 12, 2008, 4:43:40 PM2/12/08
to
Monsters can now move properly towards the player, can attack him and
also be killed by the player. XP advancement is ok, with level and
health points upgrade.

I might have an idea to enhance the fun of the game : replace gold
with magic mushrooms, so that awaken monsters gain a level each time
they eat one. If you pick the mushroom before the monster, you prevent
him to become overpowered.

Well, that's just an idea right now, the main challenge here would be
to add fov to monsters and make them choice between bashing the player
or going to the closest mushroom. I have two days left, that may be a
good challenge :-).

(code is at http://landsof.elderlore.com/files/moe/moe-day5.py)

Altefcat

unread,
Feb 13, 2008, 5:42:14 PM2/13/08
to
Dev is not progressing very fast with MoE, I'm afraid it will be hard
to get it finished in time.

Anyway now monsters chose (relatively) wisely between the player and
the closest mushroom, and when they eat one mushroom they gain a
level.

Potions can be found on the floor, and drunk to recover full HP.

What I'd like to add before my time is up :
- saving and loading
- detect the term size to adjust the display size
- add a pseudo inventory and swords, axes and spears
- have something special at the bottom (9th floor)

(code at http://landsof.elderlore.com/files/moe/moe-day6.py)

Altefcat

unread,
Feb 15, 2008, 8:01:23 PM2/15/08
to
At last my quest is over; after (about) seven days, Mines of Elderlore
is completed. The code is only one file: http://landsof.elderlore.com/files/moe/moe.py
. It is all GNU / GPL v2, so I hope it will be of some help for anyone
interested.

It runs well under Ubuntu with Python, Numeric and Curses, but I don't
know how it will behave under another OS. When launched for the first
time (with 'python moe.py'), it will create an 'moe.ini' file
containing different parameters that you can change at will.

After the first play, an 'moe.sav' file is created to keep your
progress. Launch again the game and it will continue where you
previously stopped.

A board of scores and ranks is keeped, and since every dungeon is the
same for everyone, it should be easy to compare performance each
other. If you want to explore another dungeon, just change the 'name'
value in 'moe.ini'.

Synopsis:
---------
You are a young hero and to prove your strength, you decide to clean
the mines nearby your native village. Only armed with your training
sword, you enter a maze of rooms and corridors.

Howto:
------
## : walls
.. : floor you can see
++ : a door; bump into it to open it
M~ : monster sleeping; it will awake at your approach
Mn : monster level n
! : a health potion; (d)rink it to recover all your Health Points
* : a magic mushroom; when you (r)est, you can eat them to recover
HP. Don't let monsters eat them !
/n : a sword of level n
Pn : an axe of level n
|n : a spear of level n
Tn : a warhammer of level n
&/ : you ! (with a sword)

Keys :
------
- keyboard arrows to move and attack North, South, East and West (no
diagonal move)
- space : wait for a round
- d : drink a health potion
- r : rest to recover HP by eating mushroom
- 1 : equip your best sword
- 2 : equip your best axe
- 3 : equip your best spear
- 4 : equip your best warhammer
- i : list your weapons and their quality.
- esc : save and close the game.

Each weapon is different, you have to learn how to use them
efficiently. Be creative ! I hope you will enjoy this little game. And
remember, if you search deep enough, you may find your true nemesis.

Damn, I really need to rest. Now, where are my mushrooms ?

Altefcat

unread,
Feb 16, 2008, 11:26:18 AM2/16/08
to
I've made some balance to the game (in monster HP, frequency of
weapons in dungeons, and now when a monster dies it drops some
mushrooms around) and have ported it under Windows.

You can find release 0.8 (day 8) with windows binary there :
https://sourceforge.net/project/showfiles.php?group_id=184938&package_id=263211

So, what do you think of it ?

jot...@hotmail.com

unread,
Feb 19, 2008, 6:02:54 PM2/19/08
to
On 16 Fev, 16:26, Altefcat <edemp...@gmail.com> wrote:
> I've made some balance to the game (in monster HP, frequency of
> weapons in dungeons, and now when a monster dies it drops some
> mushrooms around) and have ported it under Windows.
>
> You can find release 0.8 (day 8) with windows binary there :https://sourceforge.net/project/showfiles.php?group_id=184938&package...

>
> So, what do you think of it ?

Hey it's pretty cool! It was very easy to catch on especially because
of the double-character tiles -- monster and weapon levels are
immediately visible. The &/ symbol "it's you with the sword!" is
pretty funny, or maybe it's just my imagination :) Inventory
management is not overly complicated and over all I'd say you made
some pretty good design decisions, I like it!

Jotaf

Reply all
Reply to author
Forward
0 new messages