Temple of The Roguelike Forums
Game Discussion => Early Dev => Topic started by: Adral on May 20, 2007, 05:13:00 PM
-
I started this thread so the author of Elderlore, if he is willing, explains to everyone features of the upcoming game.
You know, since it's aiming to be a big roguelike, it has quickly gotten my interest, so I hope you, Altefcat, can say why your game will be unlike others, as well as a little explanation of planned development ;)
-
I second this idea, the game sounds like it should be really fun. Perhaps somewhat like dwarf fortress, but more roguelike and with graphics.
-
Ok, I'll try to explain a little what is the redline behind Lands of Elderlore :
- Create a huge world, evolving on its own, with different geographic areas, cities and trade between them.
- The player must adapt himself to this world, he should not have the feeling that the world is build around him
- The main goals of the player : survive and explore, through his own will and through quests given during his journeys
Here is what is coming in the next releases. That is a little rough, since most of the time I add features one after another, without excessive planning.
What to expect for release 0.1 :
======================
Next releases will have monsters (at last !), basic shops, music, caracter stats and basic battles.
Monsters : They will be animals first, as I'd like to build worlds where magic is very rare, close to historical middle age. So they will be wolves, bears, snakes, giant spiders, rats, giant scorpions, giant bats, crocodiles and chicken.
Other enemies will be human, like bandits, sauvages and so on.
Shops : Towns will have shops and merchants so you can buy equipment and sell treasures.
Music : I'd like to add free music to Lands of Elderlore. Jamendo is the perfect place for that. This guy: http://www.mikseri.net/users/?id=61143 has produced ambient music that would perfectly fit, it has been used in some Oblivion mods.
Caracter stats and basic battles : I'll start simple here, as it will need a lot of balance further on.
What to expect for release 1.0 :
======================
I have started some days ago to add posts on my french blog to write down some ideas I'll be adding, so I'll start with that.
Honor titles : By killing monsters or achieving city quests, you'll get titles that will grant you advantadges.
Dimension doors : Those doors will give you access to other worlds, that will be more evilish (demons has conquered the world), faerish (faery world), living deadish (living dead fighting humans) or fantasish (Tolkien heroic fantasy).
Each of these worlds will have unique artefacts you'll find nowhere else.
Tactical battles : I'd like to add tactic to battles, with charge, feint, and so on, without complexing too much the fight system.
Other features :
I try not to plan too much, since it is very easier to have ideas than to code them in something usable. Still there are many more features I'd like to add, without having developped them a lot. Here is a list :
- advanced cities, with different buildings, guilds, based on different cultures, expanding on several world cells
- economy between cities, with goods and different market prices, caravans and sea roads
- inheritage between caracters of a player, heirs and advance player creation based on karma points
- advance quest system, based on the big list of RPG plots : http://www.io.com/~sjohn/plots.htm
- a complete crafting system, with goods collecting, and item crafting
-
Thank you for the explanation!
Well, it certainly sounds interesting indeed.
The goals are set high, but I guess you can complete them, because they do not sound overly impossible (sometimes people start with goals like "ultrarrealistic battle system and kingdoms and blah blah"). If you start small then grow up there should be no problem.
So good luck with your project, and be sure to keep us updated! Not everyone out there speaks French :P
Also, as a side note, I'd like some help to run your game in Linux (Kubuntu Feisty 64-bit) since I have this little problem:
[1933]adral@adral-desktop:~/roguelikes/elderlore.008$ python elderlore.py
module : elderlore.py / erreur : Impossible de charger un module. No module named pygame
Any help would be really appreciated!
-
Just from messing around a bit I have found 1 bug, and 1 possible bug. They are;
When in the inventory screen, if you switch the the info box and click on a equipped weapon instead of giving you a pop-up with the info text, it unequipped the weapon. This does not happen with other slots as far as I know.
The other possible bug is that the scroll functions on my mouse count as mouse clicks for moving the character around.
Make sure you post here when the new version comes out, im excited to start killing me some mobs!
-
Thank you for the explanation!
Well, it certainly sounds interesting indeed.
The goals are set high, but I guess you can complete them, because they do not sound overly impossible (sometimes people start with goals like "ultrarrealistic battle system and kingdoms and blah blah"). If you start small then grow up there should be no problem.
So good luck with your project, and be sure to keep us updated! Not everyone out there speaks French :P
You can count on me ;D
Also, as a side note, I'd like some help to run your game in Linux (Kubuntu Feisty 64-bit) since I have this little problem:
[1933]adral@adral-desktop:~/roguelikes/elderlore.008$ python elderlore.py
module : elderlore.py / erreur : Impossible de charger un module. No module named pygame
Any help would be really appreciated!
You need some Python packages to run the game from its source files :
- python-pygame
- python-numeric
- python-numeric-ext
- ocempgui
The first three ones can be found under Synaptic, and the last one has to be downloaded from http://ocemp.sourceforge.net/guidown.html and installed with a python setup.py install.
Just from messing around a bit I have found 1 bug, and 1 possible bug. They are;
When in the inventory screen, if you switch the the info box and click on a equipped weapon instead of giving you a pop-up with the info text, it unequipped the weapon. This does not happen with other slots as far as I know.
Thanks for the report, I'll fix that.
The other possible bug is that the scroll functions on my mouse count as mouse clicks for moving the character around.
Yes I know, that was unintended first, but then I found that was quite convenient to move around with the wheel. Anyway I am still shaping the controls and the GUI, so that will probably evolve.
Make sure you post here when the new version comes out, im excited to start killing me some mobs!
Yep sure, me too you know :) one thing that is great with roguelikes is that their creator enjoy them as much as other player. Actually, I think that's a major feature of a roguelike...
-
Hmm...
I have installed those dependecies, including ocempgui, and I ran the game using python elderlore.py. I enter the "new game" menu, select a .ini and press start... and at about 50% progress I get this:
Traceback (most recent call last):
File "elderlore.py", line 873, in <module>
jeu.start()
File "elderlore.py", line 155, in start
self.manageEvent()
File "elderlore.py", line 246, in manageEvent
self.gui.distribute_events(event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Renderer.py", line 1368, in distribute_events
self._grabber.emit_event (ev)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Renderer.py", line 91, in emit_event
self.event_grabber.notify (event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Window.py", line 175, in notify
self._notify_children (self.child, event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Window.py", line 245, in _notify_children
self._notify_children (child, event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Window.py", line 245, in _notify_children
self._notify_children (child, event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/Window.py", line 237, in _notify_children
widget.notify (event)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/ButtonBase.py", line 137, in notify
self.run_signal_handlers (SIG_CLICKED)
File "/usr/lib/python2.5/site-packages/ocempgui/object/BaseObject.py", line 117, in run_signal_handlers
callback.run (*data)
File "/usr/lib/python2.5/site-packages/ocempgui/events/Signals.py", line 87, in run
self.callback (*d)
File "/usr/lib/python2.5/site-packages/ocempgui/widgets/GenericDialog.py", line 173, in _button_clicked
self.run_signal_handlers (SIG_DIALOGRESPONSE, result)
File "/usr/lib/python2.5/site-packages/ocempgui/object/BaseObject.py", line 117, in run_signal_handlers
callback.run (*data)
File "/usr/lib/python2.5/site-packages/ocempgui/events/Signals.py", line 87, in run
self.callback (*d)
File "elderlore.py", line 313, in _lance_npartie
jeu.partie = el_partie.Partie(jeu, int(taille.text), nom.text, self.modele, bar)
File "/home/adral/roguelikes/elderlore.008/el_partie.py", line 63, in __init__
self.monde.creation(bar)
File "/home/adral/roguelikes/elderlore.008/el_monde.py", line 889, in creation
self.Creation_Carte()
File "/home/adral/roguelikes/elderlore.008/el_monde.py", line 523, in Creation_Carte
pygame.surfarray.blit_array(self.carte, carte)
ValueError: unsupported datatype for array
Any idea of why is this happening? I wanted to give the game a try :-/
-
Have you installed python-numeric-ext ? It seems that the problem is between Pygame and Numeric.
-
Have you installed python-numeric-ext ? It seems that the problem is between Pygame and Numeric.
Yes, I have them installed. I double checked it afterwards, and I even installed the -dbg version too, just in case.
I guess nobody likes 64-bit systems :-/
-
There is probably a difference with the 64 bit packages. Can you get their revision number ? On my Ubuntu 32 bit, I have pygame 1.7.1release-4.1, python-numeric 24.-7ubuntu1 and python-numeric-ext 24.-7ubuntu1.
-
There is probably a difference with the 64 bit packages. Can you get their revision number ? On my Ubuntu 32 bit, I have pygame 1.7.1release-4.1, python-numeric 24.-7ubuntu1 and python-numeric-ext 24.-7ubuntu1.
pygame 1.7.1release-4.1
python-numeric and python-numeric-ext 24.2-7ubuntu1
It seems that those last two differ :-/
-
My bad :(, I have also 24.2-7ubuntu1 on both packages, sorry for the mistake.
-
To keep you informed, I am currently adding an isometric view to the game, it should be in the 0.09 release, I plan to launch it soon.
Here is a screenshot :
(http://blog.elderlore.com/images/galeries/0.0.9/Capture-Lands%20of%20Elderlore%200.0.9.9.PV__.png)
Adral, did you find a way to solve your problem ? I think it's an issue with Ocempgui and 64 bits.
-
Awesome!
Why are you going isometric though? I admit to not having played many isometric games, but when I did, keyboard input was a big bother to me. It's not nearly as natural as regular square board, though it allows for a slightly more realistic/stylish display.
Bonne chance! ;)
-
Believe me or not, but the real reason is that I want to add many objects in my game, like tonnels, lights, beds and so on, and I have those isometric tiles from D. Gervais that fit perfectly ! ::). And I'll be able to have themed cities, made of adobe, stone, brick, wood, iron or even bones.
The major problem I have been facing from now on has been to find proper artistic content, like tiles, sounds and music, both freely usable and fantasy like. For instance, the world tileset I am using does not have a swamp tile, so I didn't add any swamp to the worlds ???.
I am currently adjusting mouse controls so that you can use it easily to move around on the isometric view.
-
Oh, come on, and you couldn't find ASCII characters and colours for those objects? Shame on you! ;D
And trust me, those tiles aren't that hard to work with. I remember doing some tile programming in php for a webgame that never came to life... we had about 4 or 5 terrain types, and around 184 different tiles. Basically, instead of just dropping a green tile somewhere for grass, we'd check for all the other tile types around it, and we'd have to select a specific tile so that the forest would turn into grass in a nice pretty way.
I REALLY didn't know how to code back then, so I ended up with tiles named: water_nsw_nwse for example, which stood for a water tile with grass north, south and west of it, as well as northwest, and southeast! Oh, fun times! *grin*
Are free tiles that hard to find though? And with that size, I'm sure you can come up with something youself! Here's what seems to be a nice tutorial (http://www.angelfire.com/rpg2/vertexnormal/tutorials/tile_tutorial.html). Good luck in there!
-
That's a nice tutorial, but my drawing are very limited, I can hardly change existing tiles...
I sought about you said previously, how it can be hard to move on an isometric grid, and I agree with you that I feel it more confusing. I am having different tries to see if I can correct this a little. Here is another screenshot with a grid on it :
(http://blog.elderlore.com/images/galeries/0.0.9/Capture-Lands%20of%20Elderlore%200.0.9.11.png)
What do you think ? I have just moved each tile one pixel right and down to let the grid appear. Perhaps I could make the grid switchable, turning it off most of the time, except during battles ?
-
If you can do that, why not give the player the option to turn it on or off? It all comes down the personal preference, methinks.
What usually annoys me the most with keyboard input on isometric is people trying to use the standard arrow movement, when it obviously doesn't fit. If you're going to have keyboard input, maybe you could try out with some keys like:
qw
as
, where q goes up and left, w up and right, etc. I'm really not sure how it plays, but it might be more intuitive to move on an isometric grid if the "arrows point the way you're going to move" - the standard up-down-left-right don't.
-
I have just added the key CTRL + g to switch the grid on and off ;)
Movements with keyboard are with the numpad right now, but that might change. On my french (azerty) keyboard, a and q are switched, and z and w, so it took me some time to figure out what you were meaning ! I think I'll let in the end the user to choose his own keys, as everyone has different ideas about that.
I have set the point of view of the isometric mode so that it can be turned on 4 different angles with the TAB key. so perhaps I'll make in the future a field of view like that :
\ /
\ /
\ /
\ /
@
and keys like that :
4,6,5,8 to strafe left, strafe right, move backward, move forward and keep looking at the same angle
7,9 to move forward left and right and keep looking at the same angle
1,3 to turn yourself left and right without moving.
-
First of all, nice screen caps Altefcat. Looks very promising.
What usually annoys me the most with keyboard input on isometric is people trying to use the standard arrow movement, when it obviously doesn't fit. (...) it might be more intuitive to move on an isometric grid if the "arrows point the way you're going to move" - the standard up-down-left-right don't.
I was wondering about that too. Personally I don't have any problems playing isometric with cursors or numpad if the display is tilted 45 degrees counterclockwise to the display (i.e. pressing the up cursor moves you up and left). I fiddled with game controls once to try a 45 degrees clockwise rotation (i.e. pressing up moves you up and right); it took me a lot longer to get used to and it kept feeling strangely unfamiliar. I always figured that's because I'm right-handed. Then again, I remember playing some ancient turn based strategy game with isometric display where the controls weren't rotated at all (i.e. pressing up moves you, well, up). Having to use diagonal movement keys on the keypad to move along the grid is absolutely horrible. :o I think your suggestion to use the 'qw/as' keys (or 'az/qs' in French ;)) could work very well.
-
Then again, I remember playing some ancient turn based strategy game with isometric display where the controls weren't rotated at all (i.e. pressing up moves you, well, up). Having to use diagonal movement keys on the keypad to move along the grid is absolutely horrible.
I don't suppose you're referring to Civilization 2? I never had any trouble with the unrotated setup, because the controls are intuitive. If you want to move to the tile above you, you press the up key. Simple.
-
I don't suppose you're referring to Civilization 2?
No, it wasn't Civ 2. I don't remember what it was called, some kind of war game from the Civ 1 period. I didn't play it for very long, for obvious reasons. But didn't Civ 2 support custom control configurations?
I never had any trouble with the unrotated setup, because the controls are intuitive. If you want to move to the tile above you, you press the up key. Simple.
That's why every isometric game should support custom controls. To you it's intuitive, I still wake up screaming fifteen years after. ;) Maybe it has to do with the perception of grid lines as cardinal directions.
-
I've been trying yesterday to extend the display area to the whole width of the window. Here is the result so far :
(http://blog.elderlore.com/images/galeries/0.0.9/Capture-Lands%20of%20Elderlore%200.0.9.16.png)
I think I will implement the view system, with different levels. With those kind of (mapable) keys :
Keys to move while looking in the same direction:
4 : strafe left
6 : strafe right
5 : move backward
8 : move forward
7 : move forward and left
9 : move forward and right
Keys to turn without moving :
1 : turn left
3 : turn right
2 : turn 180 degrees
The viewing area will depend of your moving speed. Something like that :
- when you walk, you see all around you
- when you run, you see half of the screen
- when you sprint, you see 1/4 of the screen
So I won't implement a speed system, like in Angband, but a walk / run /sprint system, linked with endurance. I think this idea has been discussed on rgrd, I don't think its mine ;).
-
Is this still getting worked on? If so I'd love to hear about any new features/whatever!
-
Best bet is poking at his blog so he can reply here :)
-
It looked like such an awesome game, too.
-
Yep, I'm still working on it, but I haven't updated my blog since quite some time.
You can try the SVN deposit if you want at http://sourceforge.net/projects/elderlore, it contains the last dev and I am updating it two or three times a week.
I have added a feature website there : http://bug.elderlore.com/, but right now it's only in french, sorry :( As soon as Flyspray supports different languages, I'll add english to it.
-
I have added field of view to the game; here is a preview :
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.25102007a.PV__.png)
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.25102007b.PV__.png)
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.25102007c.PV__.png)
Images are at full size at http://blog.elderlore.com/index.php/gallery/version-01/01-dev.
Next step is to add PNJ to villages, like guards, sellers and quest givers (captain of the guards, mayor, ...)
-
Looks pretty nice, good work!
Also, you mean NPCs, not PNJs >D
-
oops, yes, NPC, thanks Slash ::) ! My french side is invading my english cortex !!!
By the way, if you are looking for an amazing roguelike with an overworld map, honestly don't wait for mine and go for Dwarf Fortress. Next big release of DF is nearly there, and it's gonna be so huge and immersive !
Have a look : http://mkv25.net/dfma/map-1183
Too bad they are not taking the open source way...
-
I'm not really happy with that multi-level stuff. There was a topic about that recently...
Anyway, that looks awesome! Getting better and better! Let me just suggest that the hidden areas be filled with a lighter overlay. The division is too clear for me - either you go all black, or you have a very light overlay which is still easily identifiable, but not really intrusive. Just an opinion!:)
-
I've tried it, but it seems too light for me...
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.27102007a.png)
Another problem is that it doesn't tile well, that's the problem with isometric views, you have to tile diamonded shapes, not squared ones.
-
Mouse support is not very good at the moment. You should make path finding walk to left mouse button and look command to right button. Also for me the message window is "reversed", I keep thinking that new messages should be at the bottom of the window. And I think walk messages should be removed, I think the player knows where he is going without telling that in a message.
-
True, that doesn't look so good... Isn't there a way to use alpha? The dots make it look weird, but maybe a plain black tile with some alpha would make it look better? Dunno.
Good luck :)
-
I agree, alpha might be a better way to go! I think I'll have to think about that for my roguelike too. :-[
-
Yeah, I use alpha in CvRL, like http://peltkore.net/~szdev/crl-crashed/e107_images/newspost_images/crl1222.png]this (http://peltkore.net/~szdev/crl-crashed/e107_images/newspost_images/crl1222.png)
Looks much nicer than dithering :P
-
I'd like to keep alpha channel for illumination effects, like full light / shadow / dark, to add some Saffron-like infiltration gameplay ;D, and shadows to trees and walls.
Mouse support will be improved, but I have not thinked a lot about it. Right now you can move with the mouse weel, I find it convenient but it was not done on purpose. Moving the mouse around, with the ALT key pressed for instance, could be the look command. I don't know yet if I'll add pathfinding for the player; what to do once the player clicks somewhere : make him hit <space> several times to get there ? Or perhaps move on real time until disturbed, like the Angband 'run' command... Ok I'll think about it ::).
First I thought that the sense I used for displaying text was the one used in other games, like Baldur's Gate, but I've just checked on Youtube and new entries are displayed at the bottom, not at the top. So I have inverted it, thanks for pointing it to me.
-
are you gonna have an option to play with just ascii graphics? please.
-
No, sorry, that would mean too much change in the code, and honestly from the beginning I have choosen the tiles way, so I won't change my mind. Besides there are plenty of ascii roguelikes; I expect a lot from Doryen (http://doryen.blogspot.com/), it has a great overworld, an ascii frontend very next-gen ;), and the blog is very interesting.
-
I have updated the algorithm for display of caves. Here are the results so far :
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.29102007f.PV__.png)
(full image at http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.29102007f.png)
The same when you have discovered the whole cave area :
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.29102007g.PV__.png)
(full image at http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.29102007g.png)
The difficulty here was using the same tiles for 1 cell walls (like walls for houses) and walls for inside caves (which have no other side). Now, if you dig out in a wall (well, when digging will be implemented), other walls around should be displayed accordingly.
And now, let's add some guards at the cities entrance 8).
-
A quick update on the game so far :
I have changed a big part of the area code, so that a square of 3 areas by 3 areas is always loaded around the player. If the player exits the area of the middle, the square is updated accordingly.
Display is now about 20 % faster, and the code is easier to maintain, so that's double bonus for me ! I've been studying OpioId2D, an OpenGL implementation in Pygame for 2D games. That could help me reduce the display time, and add some nice effects, perhaps after 0.1 is released.
Saving and loading are also working nicely now. I have changed a little the way worlds are dealt in the game. At the beginning, you choose a world, and then it will be loaded each time. Then you create a character in that world, a savegame is associated to it, with the ratio 1 world - 1 savegame. Heirs and dynasties will be added later, so that you'll be able to retire a character to start a new one.
I think I'll start adding guards this week-end. It's a big new stuff to add, and I think that unconsiously I've been developing other parts of the game just to avoid that big NPC part. No more of that ! Wish me good luck :-\
-
I'm definitely keeping an eye on this...
Keep up the good work!
EDIT: Typo
-
You can download a work-in progress here if you want:
http://www.mediafire.com/?ad1q3d50g5s
You need Python 2.4 or 2.5, Numeric, Pygame and OcempGui to run it.
I'll be uploading works-in-progress regularily on Mediafire as a way of backup.
-
Here are some news about Lands of Elderlore.
There is a new GUI, drawn by David Gervais, that fits the screen whatever its display resolution.
Animals can now chase the player if they have flags PREDATOR and WILD.
The player can now open, close, and even bash doors. Houses have windows the player can look through.
The upper right map has been updated and is much more sharper.
The text area can vary in size (# of lines), and each line of text can have a different color.
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.20071229b.PV__.png)
(http://blog.elderlore.com/images/galeries/0.1/Capture-Lands%20of%20Elderlore%200.1.0.20071229a.PV__.png)
As a side note, David Gervais has decided to release his tiles under the Creative Commons 3.0 licence : http://creativecommons.org/licenses/by/3.0/ (http://creativecommons.org/licenses/by/3.0/). So anyone can use them freely, in a free or in a commercial game, and can modify them as long as they are released under the same licence and David Gervais is quoted as their creator.
Those tiles are back online on the tiles library of Pousse Rapiere (http://pousse.rapiere.free.fr/tome/); I'll update soon the terms of use to refer to http://creativecommons.org/licenses/by/3.0/ (http://creativecommons.org/licenses/by/3.0/).
-
The bad news is that I am afraid I'll stop posting on this thread; the good news is that I have finally published a website in english where I will blog about developing Lands of Elderlore.
Here is the URL:
http://landsof.elderlore.com/
Feel free to post comments over there, feedback is always welcome !