The hunt for the lost rainbow jewels
The rainbow jewels which give the world the colors have been abduced from the temple of the rainbow colors! The world will brelach out to gray if you can't retrieve the jewels in time.
This is more or less the background story for my current RPG project. It will be an action RPG, inspired by games like Diablo and Diablo II, a crossover of roguelikes and realtime games. It's open source, and at some point I'll need help with artwork, particulary item artwork - that's why I registered here, but I want to wait a while longer before actively asking for help.
http://sourceforge.net/projects/jewelhunt/
I've published some of my art here, and the project uses some item art from here, too.
http://sourceforge.net/p/jewelhunt/code/HEAD/tree/trunk/src/jewelhunt/cr...
A few previews of the temple and a dungeon area:
Currently I'm in the progress of designing the game world, and also some more graphics for the game. I'm particulary bad at armor graphics though, so if you know where to get free armor artwork (body armor, helmets, gloves, boots), please let me know. Body armor needs to be about 64x96 pixels, helmets, gloves and botos will be 64x64, more or less. Downscaling larger images isn't a problem. I've tried to search this site, but my search-fu wasn't strong enough to find something appropriate.
A long while I was pondering about item durability, and how to make it interesting in the game. Also, I wanted to have enemies with attacks that damage some items, e.g. if you hit an acidic enemy with a metal sword, the sword will take some damage. Which would be totally uninteresting if such damage had no effect.
The current plan is to lower item efficiency if the durability drops below 50%. That is, the item will work fine above 50% durability, and below the efficiency will drop, weapons will do less damage and armor or shields will be less protective.
This also will put some emphasis on repairs, repair skills or NPCs who can repair items.
I hope it won't become a chore for the player to keep equipment in shape, but rather adds to strategy.
You know, I think it'd be somewhat interesting to explore just making the items break - with no way to repair them (or easy way at least - perhaps you could salvage components etc.). That would force you to adapt by picking up new weapons as well as making you "save" good items for when you really need them - and of course adapt your strategy against particularily risky monsters.
Of course, that probably doesn't work so well with a Diablo-esque geargrinding system.
daoc had condition. it worked pretty much how you said. getting less effective as its condition went down. weapons would become dull and do less damage. you could also sharpen weapons using a sharpening stone and increase condition on weapons. ideally though you would want to repair the weapon first then sharpen for extra damage. armor could not actually break but at 0 condition it basically acted like you had no armor on. also you could only at least in dark age of chamelot repair so many times before you couldnt repair it any more. this also had a precentage that dropped after each repair. once repairability dropped to zero and condition dropped to zero the armor was pretty much done.
This also effected crafting. for armor crafters the better their skill the higher repairability percentage the resulting item would have.
junk items in the game usually had low repair percentage. usually in the 60% or 70% range.
@ceninan: D2 had an "industructible" item mod, that becomes much more interesting if items have a finite life. An idea that I might pursue is that each repair attempt lowers the max durability of an item, so there is fixed limit of repairs. This way items will last quite long, but not forever.
Psychologically I'm slightly opposed to this idea, I like to keep things forever :D
Nethack and some more roguelikes also come with a very limited supply of items, so the player must carefully choose what to use. It seems to work, and some people like this sort of challenge.
@Malifer: I think I'll have to keep things simple, but I agree with the ideas there, that's quite close to my own ideas. The crafting idea is nice, did not think fo that yet :)
looks nice. There doesn't seem to be any game building instructions at svn checkout svn://svn.code.sf.net/p/jewelhunt/code/ jewelhunt-code
That's right. I'm not even sure how to do that ... but this might work:
1) Get the lastest release, because it includes the LWJGL and rlgamekit libraries which you need to compile the sources.
2) Compile everything from the src folder into a new JewelHunt.jar - this will require to set up the paths to the LWJGL and rlgamekit libraries in your IDE
3) Replace the JewelHunt.jar from the release with your own version.
I think that should work.
One safe approach to item durability (if you're still questioning if it's reasonable or will work in the system you've made) is follow the old adage in English about punctuation; when in doubt leave it out. If it becomes too much and takes away from making progress on the game itself it might be better to leave it until a later point. You might get developed to a point and realize it's not something you want after all.
It's mostly there to give some sense to acid based attacks. All the other elemental attacks just hurt the PC, and acid togetrhe with item durability will add a different sort of challenge. I think the tricky point is to balance it right - have enough of it, to make it interesting, but not so much that it becomes an annoyance.
I've implemented the effect so that above 50% of durability, the item will work fully, and below 50% durability the damage or defense will lower proportionally. Items won't break totally at the moment, but become useless (0 damage or 0 defense).
Also I want to say thanks to the people who made the flare armor set public domain. That's great artwork! I'm currently adapting and importing the images, some are already in, as the screenshot shows.
I've published a new release, since a lot of changes had been accumulating up. Many of them are just added artwork, but there are a few functional changes too.
- On my laptop it didn't reach 60 FPS. I have tried to optimize the display code, so it's back at 60 FPS again, even on the laptop, but I want to investigate this further because auch a simple map display should not need so much computation power.
- The basics of combat are implemented. Actually you don't see much of that in the demo, just if you hit the imp, it vanishes. But code structures are prepared to handle damage and defense calculations, so the only thing left to do there is to decide how to do those calculations (blocking, armor effects, elemental vs. physcial damage ...)
- The basics of player and monster speed handling are there now. Movement speed is prepared to no longer depend on the framerate but on passed time, but it needs more work. The imp is slower than the PC now, so one can actually chase and hit it.
- A few fixes went into the item prefix and postfix code. "Vorpal Sandals" with 58% enhanced damage looked too odd. (Sandals could get any magic enhancement).
- The map movement grid became finer. As a side effect I had to redo the village map, so that looks a bit different now than before. I hope I can stick with the chosen grid now.
Download:
http://sourceforge.net/projects/jewelhunt/files/r006/
I'm not sure what I'l do next, but I assume I will enhance the dungeon populating code, both with monsters and furniture, implement some real combat system, and also merchants for the village map and an item trading system. I also want to give the monsters some AI, to make them "live" in the dungeon, that is seek places to rest and sleep, wells to drink from, look for food or equipment (if intelligent).
I've added some more graphics, and improved the monster pathfinding performance. Now there are 50 confused imps on the starting map, moving randomly. Combat has been expanded a bit, physical damage is now actually calculated, and there are very simple effects indicating if you hit an imp. No death animation though, so the imps just vanish upon the final hit. The imps have 20 hitpoints and don't fight back at the moment.
http://sourceforge.net/projects/jewelhunt/files/r008/
First quest: Clean the level from the 50 imps :D
Well, not really, but at least there is something to do now.
Got some of the AI done, the imps now come visiting a well when thirsty. And when the level is newly created, all are thirsty ...
jwh-view-15-busy_well.jpg 110.4 Kb [1 download(s)]
I'm not sure if the term "Wuselfaktor" is known in English, but this version definitely has something of it. 50 imps are scurrying around, travelling between wells to drink from and their lairs to rest again. It's fun just watching :)
http://sourceforge.net/projects/jewelhunt/files/r009/
I'm not sure if this runs smooth on weaker computers, since this version does a lot of pathfinding. If it turns out to be a bottleneck, I'm somwhat confident that I can optimize it.
Edit: Due to a bug it might happen that maps are generated which have no wells. In that case the imps just sit sulking in their lairs. If that happens, just start the demo again, most often the maps are correctly generated.
The missing well can happen if an imp places its lair on top of the well ... I believe that this even can remove the stairs from the map.
Wuselfaktor -> the feeling of seeing a lot of tiny people walking around being busy.
Source: http://www.intelligent-artifice.com/2007/04/ubisoft_buys_su.html
In English we call this scurrying about (or something approximately close to it). We might also call it keeping busy if we're the ones doing the scurrying. My wife is especially apt to keep busy; whether she actually gets much done is another story but suffice to say we are familiar with this idea in English.
OMG, thank you William.Thompsonj! I could not find a decent translation to save my life.
@Varkalandar: Looking good!
--Medicine Storm
@MedicineStorm: Thanks :)
I feel a bit hesitant to announce this release, although it marks a milestone - one can now travel back and forth between the village map and the dungeon. So I can now to start adding map by map and the other missing features, like the townspeople.
http://sourceforge.net/projects/jewelhunt/files/r010/
I had a few crashes during testing, but I never could reproduce the problems. Looks a bit like a threading problem, and I'll have to investzigate it further. I decided to release it anyways, since it felt "complete" in a way.
In the last release, map creation could crash if an Imp plans to set up its lair inside a well. I had not thought of this special case.
I wonder if it's a good idea to show the AI's thinking ... in this creenshot there are three states shown "need water", "need a break", "I'm sleeping"
What do you think? Better with or without thinking bubbles?
mob-state-display.jpg 115.9 Kb [1 download(s)]
That tells the player a lot of information but it's useful information. If it were me I'd keep that feature. Maybe I'd give the imps 3 distinct animations to represent those 3 states so the player can tell what state they're in without the thought bubble but it's a good idea.
It's now in the new release, so you can take a look in real. It's a real bouncy release, you'll know why I say that, if you run it and watch the imps :)
http://sourceforge.net/projects/jewelhunt/files/r012/
- There is a new map area, west of the village (follow the path down-right)
- New, smoother movement
- Sound playing code
- Simple sound effects included for the inventory
- Start scripts for Windows and Linux
I've been working on a new version of the village map. I hope this will become the final one. I've been experimenting a bit with the tile raster and map sizes, and I think I now have a raster and map size which I can keep.
jwh-view-16-village_v2.jpg 485.9 Kb [3 download(s)]
you are using subversion to track things, correct ?
http://sourceforge.net/p/jewelhunt/code/HEAD/tree/
There doesn't seem to a be a readme anywhere if I want to build the game myself or have I missed it ?
Looking to know more.
I haven't written a document yet. But it should be simple. If you check out the svn, you'll find s rc and a lib folder in the trunk. Just tell your ide to use the sources from src, and the jar files from lib, and it should compile.
To run it, you need the LWJGL libraries, which you can get from the releases, or directly from http://lwjgl.org/
To run the project from insdie your IDE, you need to add the JRE argument -Djava.library.path=lwjgl-2.9.1/native/windows matching to your OS. Good luck :)
umm... checked out the repo. (worked with svn after a long time). The log showed the that the last work done was on 27th March.
svn info
Path: .
Working Copy Root Path: /data/shirish/Games/jewelhunt-code
URL: svn://svn.code.sf.net/p/jewelhunt/code
Relative URL: ^/
Repository Root: svn://svn.code.sf.net/p/jewelhunt/code
Repository UUID: 0893e5b9-709b-4d18-bc70-cc458d7ebd0c
Revision: 42
Node Kind: directory
Schedule: normal
Last Changed Author: h_malthaner
Last Changed Rev: 42
Last Changed Date: 2014-03-27 03:04:38 +0530 (Thu, 27 Mar 2014)
I was lookng for something like an e-mail address but didn't get any =:(
Looking for a way out.
You can reach me through the sourceforge mail fowarder h_malthaner@sourceforge.net
I'm reading mails rather infrequently though. On weekdays this forum is a better way to reach me.
I tried to send you mail via the mail forwarded address shared by you but that didn't get me anywhere. It bounced back to my gmail a/c :(
Maybe the forwards don't work anymore. I've ben getting some spam through that, so I won't be too unhappy about it.
This should work in any case hansjoerg.malthaner@gmx.de
I might be back to the project soon, I've been busy with other things in the past weeks.
The story of the gems.
*sigh*
Varkalander,
sent you an email a while back, please check your mail as and when you can.
Hi Shirish,
I've now supplied a build.xml file to build the project with apache Ant. It's been done in a hurry, but it worked for me. I hope it will work for you too.
These steps should compile the project:
1) Check out the svn trunk -> you should get a "src" and "lib" folder, as well as an "build.xml" file (this is new)
2) You need apache Ant to interpret the build.xml file - install it, if you don't have apache Ant yet ( http://ant.apache.org/bindownload.cgi ) Ant is a tool for Java a bit similar to make for C/C++
3) Get the latest LWJGL distribution ( http://lwjgl.org/ )
4) From the LWJGL distribution, copy the "lwjgl.jar" and "lwjgl_util.jar" into the "lib" folder which was created in step 1.
5) Open a new command window.
6) Change into the directory where the "src" and "lib" folders from step 1 reside
7) Invoke ant ( e.g. <path to your ant installation>/bin/ant )
8) Ant should create a new JewelHunt.jar for you
9) Get the latest Jewelhunt distribution ( http://sourceforge.net/projects/jewelhunt/files/r012/ )
10) Unpack it, and replace the JewelHunt.jar with your self-compiled JewelHunt.jar
11) Done :)
Qwak. Not doing such a mass addition of items like the gems anytime soon again. So much text and numbers to enter. And I haven't even coded the effects yet, just have the gems as items in the game now.
I wonder if belts should get a socket, too. Maybe the large belts should, in real such beöts often had impressive buckles.
(For the record, Bloodstone is a real thing; it's actually opaque, and green with bright red specks.)
Thanks, I'll try to make up a new name. I'm also not very happy about "Eternel". While it sounded good in my mothers tongue I noticed the close resemblance to "eternal" in English too late.
pinged you via mail. Looking forward to your reply.
Late winter seems to be a good time for development. There is actually a new version, but no major additions, maybe except a first introduction of merchants and a merchant dialog. The payment system is still missing, will be part of the next release.
http://sourceforge.net/projects/jewelhunt/
@redshrike: I've renamed the Bloodstone to Virilit, with a hint of the latin word for power or strength.
And I've got a question: In some roguelikes, enemy attacks can damage equipment. Acid corrodes metal items, fire burns wooden or paper items, electricity can damage metal, cold damages water (potions) in containers etc.
Do you think this is a good game mechanic, or do you consider it an annoyance?
I'm asking, because I feel uncertain which way to go.
At the moment it seems I'll not include this feature. I consider it too annoying to the casual gamer.
There has been some progress on the merchant code, though. Selling and buying items works, except for the case when you try to swap an item of yours with one from the merchant. At the moment you must drop items for sale on a free space in the merchants inventory, otherwise the payment calculation won't work.
http://sourceforge.net/projects/jewelhunt/
village_014_50%.jpg 167.6 Kb [3 download(s)]
Need some music for your game? I'd love to help if you want.
Check my music here: https://marcelofernandez.bandcamp.com/
---
http://www.marcelofernandezmusic.com
https://soundcloud.com/marcelofernandezmusic
Cool, thanks for the offer :) The project is a bit young still, but once I have a good idea of the areas to explore, I'll need some matching music too. So far much is only proof of concept work, and due to change.
@Varkalandar - I re-downloaded the subversion tree. I saw that the game needs lwjgl library. I also saw that there are two competing versions of the library atm. There is the default/legacy 2.9.2 version, the total rewritten 3.x series .
I do have the one which is in debian which is oldish
$ dpkg -l liblwjgl-java
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-====================-====================-=================================================================
ii liblwjgl-java 2.7.1+dfsg-4 all Lightweight Java Game Library
I would try to see if using fakeroot or something I could make a debian package out of that .zip file for myself.
I'm using the 2.9.2 version for my builds.
THE SANCTITY OF THIS PLACE HAS BEEN FOULED!
I'm not quite sure what you want to say with that - is "this place" the OGA forums, the project, or is it just an exclamation from a imaginary inhabitant after visiting the rainbow temple after the theft?
I must admit though, that the project is kind of discontinued, once I'm using the codebase and art assets for a different project meanwhile, and I've also been busy with other projects, and real life activities like gardening.
It might happen that I'll pick up work on this project in winter again, depending on my mood.
Edit: The followup project using the jwelhunt codebase has been discussed over there:
http://forum.freegamedev.net/viewtopic.php?f=22&t=6206
I've been toying around a bit with the project once again.
I started to work on a magic system and made a nova type spell effect:
https://www.youtube.com/watch?v=aLMGeJ1OGYg
I'm not quite happy with the results, but it works and a start has been made. Bolt, beam and chaining/arcing type spells will follow (some day ...)
Also I've been working on more naturally looking walls for caves and tunnels. I must also make a matching floor, and I'm a bit cluless what to do about the front side walls for rooms and tunnels. But a start has been made here, too.
natural_cave_wall.jpg 64.2 Kb [1 download(s)]
Hello Valkalandar.
Just a suggestion, you could use FLARE RPG game engine for your game. It has a lot of features and is easy to use. Engine is mostly ready for releasing v1.0, but there is only one finished game, written for it. It would be very appreciated to make your game on FLARE, it's (as I said) is easy to use, has good documentaion and supports using Tiled Map Editor for map making.
Project site: flarerpg.org
Regards,
Igor Paliychuk, one of lead FLARE developers
It's hard to write a good answer, because rationality and emotions both influence such decisions.
Emotion: I've been working on the code for more than a year. I've written quite some code for the project. The idea to throw all of it away and start from zero with the Flare engine doesn't feel good. I like my code, don't want to dump it just so, after having put so much work into it.
Rationality 1: There is a second project being developed with the same code base. It's a Dungeon Keeper inspired project, and creature AI is a big part there, also the interaction of the player and the games world are quite different from an RPG. Still I can use the map code, the display code, some of the persistence code and parts of the UI toolkit for both projects. I'd have top maintain the codebase anyways when I work on the other project.
Rationality 2: Using a readymade engine usually gives faster progress ocne one has learned how to use it.
Problem: Flare is written in C++. I don't want to do any C++ development anymore. So even if I could change the engine if I need a new feature, I don't want to work with the code.
For me the emotional level weights much right now, and the argument with the other project that I develop using the same codebase.
I've published a new development snapshot, including the new combat code, basic animation code and some improvements to the character sheet, which now shows the current resistances given by the equipment. Also, a new title screen which is shown while the assets are being loaded.
https://sourceforge.net/projects/jewelhunt/files/r015/
It's still a long way to a real game.
Finally, I managed to complete the character dialog and related code. It now shows the "real" values instead of dummies, and all the internal calculations should be in place, too. I noticed that there are no item mods yet to affect player stats like strength or intelligence. I'll add those some day soon, hopefully.
Life is currently str+dex, Mana is wis+int. Magic devices skill will be used for "autocasting" items like wands and rods, which have inbuilt spells and "just" need to be triggered. This skill is (int+dex)/2. And I figured that a mix of (str+wis)/2 will be the base resistance against harmful influences, the more you know and the stronger you are, the better you can deal with such. Well, at least it makes a little bit of sense ;)
Stealth is wis+dex, the more you know about the creatures and the better you can move, the easier it is to escape their perception.
character_and_inventory.jpg 398.1 Kb [0 download(s)]
Finally, I've made new walls and proper pieces for the different sorts of wall ends and connections. Left to do are matching front walls, but I have an idea meanwhile how to those and replace the current ones.
I'll also have to rework the tunnel walls in the same way. And then I need a different type of brick wall, for a temple environment. Brighter and more friendly looking than these "catacomb" walls.
wall_end_pieces.jpg 220 Kb [1 download(s)]
I'm still undecided if I want to keep the black top of the front walls, but it's an improvement in any case.
Also, nova is an effective spell against imp hordes. It seems Imps carry a lot of things with them ....
jwh_r016-front_walls.jpg 212.4 Kb [0 download(s)]
loot_alot.jpg 66.5 Kb [0 download(s)]
Now. Final version of the front walls. The ancient spirits of good looking walls are pleased.
front_walls_final.jpg 161.8 Kb [1 download(s)]
I've published a new development snapshot:
http://sourceforge.net/projects/jewelhunt/files/r016/
Since r015, it's been mostly bugfixes and cleanup work. Item prefixes have changed, and the item-color-depends-on-mods feature is currently disabled. Some item graphics underwent some adaptions too, in lightness and size. The new walls are included as well.
Melee combat still is very clumsy, but it works. Right mouse button is bound to a fire nova spell in this release, which is handy to handle bigger groups of imps. Mana costs and mana recovery is in the demo, but there is not limit ... you can continue to cast spells even if your mana is negative already.
Same for life. You can take damage, but your character won't die.
Slain foes drop items now. 50% chance to become a magic item, 20% chance to become a double-magic item, and a 3% chance to become a rare item with 3 or more mods.
This versions almost feels like a little RPG now.
Pages