I was looking into the code and I have some though and questions :
- The maximum level of an item is the maximum level of a monster + 3. The maximum level for a monster is 9 (skeleton boss), so in your demo some items are not dropable ? In lootManager.cpp, line 269, if actual <1, actual should be put to 1 instead of 0 ? (there is no level 0 items in your database).
- If an item has not a level, he won't drop ?
- Can an item have multiple bonuses ? If not it would be great !
And some small ideas for the future :
- In the file of monster, add the ability to apply a color filter. For instance the filter has a transparency of 100 and we can set a RGB color value (or a RGBA color value). It would allow to create 5-6 monsters of the same race but with different levels from the same sprite set.
- split the items.txt file into smaller file : one for weapon, one for armors, ...
- having a king of inheritance for config files : it would avoid to rewrite the same things for animation frames, ...
- Allow to have animated objects : trees, torches, ... For instance there is art from widelands here with animated falling trees. It would be awesome to see the tree folding after a spell or many attacks !
I had some trouble matching tiles and numbers in the map and I found what the problem was: tiles id is given in hexadecimal whereas the id used in maps is the decimal value. I was experimenting with your grass & water tileset and i'm having troubles with transparency : if I copy & paste from the png on a pink image (color 255,0,255), then I have pink arround the grass. If I remove transparency from the source image and then copy & paste, then I have white around the grass. Any hint ?
Well, I am mostly interested with random generation. I will try to play with your mediaval building tileset to generate random buildings. Do you generate files such tileset_dungeon.txt manually ? The first column is for tile ID, then it's x and y, the width and height. What are the two last column for ?
And for the map txt file, the last number in the spawn location is for the orientation ?
I just looked at the txt files : it would be more easy to create new maps with few comments on files structure. For instance in the tilesetdef.txt, it's hard to see what columns are corresponding to. Excepts this I like the logic in the configuration files, I think I could create my own map/cretaures/item within less than a week (using your graphics of course).
I just compiled the v 0.10 on ubuntu lucid lynx and it works perfectly (I installed the libsdl packages corresponding to the notes in the readme). How do you remap keys ? I looked in the setting.h and few other files but didn't find where it was hardcoded. I use french layout for keyboard and WASD do not match. However with the arrows it's okay, but f1, f2 ... can't be used with this configuration.
On the game :
- First very nice job. With few randomness (dungeons, caves, ...) I could play this game for hours. I loved Diablo I & II and you are really close to catch half the magic of diablo I :). Only by changing monsters color and scale, you could have 5-10 different levels (If I remember well, there was only carvers, skeletons and zombies in the first 4 levels of diablo I)
- The game is a little bit too fast, it's quite tricky to hit & run. But for the moment that's okay. There is a need for path finding, but it's not a big issue. The only problem I see for the moment is that it's possible to lure the boss at the opposite of a square obtacle, heal safely and then attack again.
- Bosses have no visual special effect : you see you're fighting a boss because he's really quick and hit hard. Perhaps scale them up a little bit and add an aura or glowing effect if it's possible ?
- Highlight the currently selected monster.
- hide secret rooms on the mini map ?
I like the build system (no classes but 4 attributes). Loots and difficulty seems correctly balanced. I was very happy to drop a blue sword and then wanted to farm blue items :)
I was looking into the code and I have some though and questions :
- The maximum level of an item is the maximum level of a monster + 3. The maximum level for a monster is 9 (skeleton boss), so in your demo some items are not dropable ? In lootManager.cpp, line 269, if actual <1, actual should be put to 1 instead of 0 ? (there is no level 0 items in your database).
- If an item has not a level, he won't drop ?
- Can an item have multiple bonuses ? If not it would be great !
And some small ideas for the future :
- In the file of monster, add the ability to apply a color filter. For instance the filter has a transparency of 100 and we can set a RGB color value (or a RGBA color value). It would allow to create 5-6 monsters of the same race but with different levels from the same sprite set.
- split the items.txt file into smaller file : one for weapon, one for armors, ...
- having a king of inheritance for config files : it would avoid to rewrite the same things for animation frames, ...
- Allow to have animated objects : trees, torches, ... For instance there is art from widelands here with animated falling trees. It would be awesome to see the tree folding after a spell or many attacks !
Another map generated with another algorithm :
http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/OSARE/outdoor2.txt
and in spawn.txt:
intermap=outdoor2.txt,66,66
@pennomi : Thanks for the explanation ! I was wondering what the '2' was used for in the collision map.
@nander : All art was done by pfunked, I just put 3 tilesets together.
I have manage to play a little bit with map generation & integration into the engine. Here is the results :
Here is a map with 100 goblins :
http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/OSARE/outdoor.txt (put this file in resources/maps/)
http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/OSARE/tileset_outdoor.txt (put this file in resources/tilesetdefs/)
http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/OSARE/tileset_outdoor.png (put this file in resources/images/tilesets/)
You then have to modify the file spawn.txt in maps/ :
- comment the line intermap=goblin_warrens.txt,28,76 by putting a '#' at the begining of the line
- add a line 'intermap=outdoor.txt,32,32' at the bottom of the file
And the python script used to generate the map (launched in resource directory) :
http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/OSARE/generateIsland.py
What took me most of the time was to define the neighborhood rules for the tiles.
I had some trouble matching tiles and numbers in the map and I found what the problem was: tiles id is given in hexadecimal whereas the id used in maps is the decimal value. I was experimenting with your grass & water tileset and i'm having troubles with transparency : if I copy & paste from the png on a pink image (color 255,0,255), then I have pink arround the grass. If I remove transparency from the source image and then copy & paste, then I have white around the grass. Any hint ?
Well, I am mostly interested with random generation. I will try to play with your mediaval building tileset to generate random buildings. Do you generate files such tileset_dungeon.txt manually ? The first column is for tile ID, then it's x and y, the width and height. What are the two last column for ?
And for the map txt file, the last number in the spawn location is for the orientation ?
I just looked at the txt files : it would be more easy to create new maps with few comments on files structure. For instance in the tilesetdef.txt, it's hard to see what columns are corresponding to. Excepts this I like the logic in the configuration files, I think I could create my own map/cretaures/item within less than a week (using your graphics of course).
Great Job !
I just compiled the v 0.10 on ubuntu lucid lynx and it works perfectly (I installed the libsdl packages corresponding to the notes in the readme). How do you remap keys ? I looked in the setting.h and few other files but didn't find where it was hardcoded. I use french layout for keyboard and WASD do not match. However with the arrows it's okay, but f1, f2 ... can't be used with this configuration.
On the game :
- First very nice job. With few randomness (dungeons, caves, ...) I could play this game for hours. I loved Diablo I & II and you are really close to catch half the magic of diablo I :). Only by changing monsters color and scale, you could have 5-10 different levels (If I remember well, there was only carvers, skeletons and zombies in the first 4 levels of diablo I)
- The game is a little bit too fast, it's quite tricky to hit & run. But for the moment that's okay. There is a need for path finding, but it's not a big issue. The only problem I see for the moment is that it's possible to lure the boss at the opposite of a square obtacle, heal safely and then attack again.
- Bosses have no visual special effect : you see you're fighting a boss because he's really quick and hit hard. Perhaps scale them up a little bit and add an aura or glowing effect if it's possible ?
- Highlight the currently selected monster.
- hide secret rooms on the mini map ?
I like the build system (no classes but 4 attributes). Loots and difficulty seems correctly balanced. I was very happy to drop a blue sword and then wanted to farm blue items :)
Keep up the good work !
Nice one !
Good luck :)
Top down tille non-isometric = old zelda or secret of mana like RPG ?
Pages