I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.
I wanted to let you know that I didn't work much on the map during the last month. Today I made some small changes that will be inside my next update like fixing the disappearing mouse cursor after clicking on the map without moving the mouse. The other change I made is that hits on monsters will make them be tinted very bright for a very short moment which is comparable to what is used in D3 (in D3 hit monsters turn completely white for a short time on hit).
The bigger change I just finished to conceptualize is a big change in the inventory UI. Basically I will redo it completely to add more functionality (possibility for sockets, possibility for buttons to use crafting items on items and to hopefully make the inventory more responsive.
One problem of the current responsiveness is that the whole inventory dialog is rebuild with every change/click right now. So user input is only successfully accepted, if the dialog already changed. With bnet's delay that can be a long time.
To improve the situation the new inventory will not destroy the stuff it contains. Instead it will change its looks only. So it might be possible to click 2 buttons rapidly to move an item around in the inventory before/during the inventory UI change. Basically this is used in the stat point spending buttons in the character window. You can click them rapidly instead of accepting only 1 click every second.
This change won't raise the required memory much as I will make the system work with only dialog window for all players instead of 1 per player as used before.
In addition to the responsiveness I will add new functionality support to that window to allow me to easily add more stuff in the game which can be used on items.
The new items that will come with the next update are crafting items. These items can be used to improve items permanently like raising the max Durability or adding min or max Damage to the item. This will allow the player to build up the strongest items possible, if they invest a lot of time finding these crafting items.
Atm I have approx 20 crafting items planned while more than half of these are different tiers of items effecting one aspect of an item.
For example there is "Dirty Oil of Death" which will be able to add additional max damage to the item of 25% of its default max damage. The more rare tier is the "Oil of Death" can raise the additional damage up to 50%, etc. The cap is 100% for now.
Atm, shrines can already raise the crafted damage on weapons, so parts of the system I have in mind are already existing in the map.
Highest damage item without crafting would be a perfect roll of a rare Great Axe (12-30 damage) with prefixes: +175% damage, +2-20 lightning damage and suffixes: +20 damage, +1-20 lightning damage. That is (physical: 53-102 damage, lightning: 3-40 damage). Now that value could be raised to (physical: 204-204, lightning: 3-40) via crafting. Crafting only effects an item's physical damage.
Other items can add missing affixes to magic/rare items, make rare items out of white/blue ones or re roll the affixes on an item. Basically I have to credit Path of Exile by Grinding Gear Games for that system. I think it is really great.
In addition to that I will add support for sockets to the inventory. So chances are at 99% that I will add gems to the game.
I'm already excited to see that stuff possible in my game.
I guess I will change the CtH and armor sytem of the game in near future, too. I will change it to something that is more like D2 to allow a bigger variety of CtH values and armor values. In D1 those values were subtracted from each other and that was basically the hit percentage chance you had. So 50 more CtH raised your actual chance to hit from e.g. 40 to 90.
I might even multiply every damage, AC, life & mana value in the game with some multiplier to receive a bigger variety in the possible numbers and steps per item tier. In D1 the difference for a base item from Short Sword to Bastard Sword is only 4-9 damage which is pretty small.
edit:
I thought of a system that is can be a perfect anti lag. But it requires the coordinates of a dialog item click of the dialog to work.
Quote from Ahli in EU Blizzard forums
Imagine a dialog like the diablo 2 inventory. If you click on an item in the inventory it is picked up. If you click on some field, it is placed there. You have 2 commands there with different buttons for each purpose.
If there is no delay the commands can be executed properly and the second click will be triggered on a placing field. So the item is moved.
Now if there is a delay, the second click will hit the picking up button, too. So clicking twice on 2 different spots on an item wouldn't move it because the second click won't have any effect as it hits the wrong target button because the field buttons weren't activated between the first and the second click due to the delay.
If you know the coordinates where you clicked, you can translate the wrong button click (picking up command) to a placing command. This would allow it to place the item on the correct spot.
Basically you create some sort of imaginative buttons, if a wrong command is triggered and hit one of those instead, if there is one on that spot.
This would make it possible to create dialogs with dynamic layouts that react properly on every click regardless of its state during the click.
An experienced, fast user can make some fast clicks on the correct spots which would lead his desired results. At the moment the user has to wait for the dialog to update its layout (show/activate/create buttons) before the second command can be send.
The UI can feel more responsive with that as the user can do its input faster without problems.
I think it would be a good addition because it has the potential to reduce the lag in the dialog responsiveness feel. So the only lag that would be noticeable would be the one for the first click and all UI updates. But you could actually do all necessary clicks without having the UI react to the first click.
In my map you would click twice to move an item. Because you got an idea where the buttons should be (visual grid in the dialog's background), you can execute it that fast. Atm, you need to wait approx half a second before the UI has been updated and is ready to receive the next button clicks.
Partially that is possible right now. I'm going to test it. But it has a undetectable area on the right side of the screen (max is offset of 1599 pixels). It would work, if I place the inventory on the left side because the mouseUI coordinates are only known with the top left anchor as its base and the mouse move event delivers the UI position based on that anchor. Because we have no real clue of the resolution of the screen, we can't translate that offset to other anchors, afaIk. There is a method, but it isn't a good solution and the undetectable area remains. :S
edit:
news:
-21 Crafting items implemented & can be dropped.
Post has been edited 2 time(s), last time on Jul 24 2012, 9:28 pm by Ahli.