Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diablo Core Idea index #26

Open
julealgon opened this issue Jun 20, 2022 · 11 comments
Open

Diablo Core Idea index #26

julealgon opened this issue Jun 20, 2022 · 11 comments

Comments

@julealgon
Copy link
Owner

This issue will serve as documentation for all the specific changes I want to make in the mod. For now, they are not very well organized. Each topic will eventually have its own dedicated issue to elaborate on the change a bit more (and keep this post cleaner).

  • flicker light torches over time
  • show +/- values on char screen on mouse over (compare items)
  • buy many (potions, scrolls)
  • skill descriptions
  • show current, base attrs even with level up
  • blink lightning should happen on hit frame, not start of attack
  • prevent highlighting things not visible to player
    • prevent teleport/phasing/town portal into chamber bone
    • prevent items from dropping across rooms
  • add "right-click to" for spectral elixir after quest is done
  • show lava on map
  • improve item click position (avoid dropping stuff on ground if not very precise)
  • add transparency caves walls
  • improve hover detection stairs
  • kings quality level is wrong (lower than champions). should be 60
  • full inv blocks equip axe. should drop items on ground, or play "too much baggage" instead of weapon sound
  • do not use Mana to cast guardian on chamber of bone
  • Item alignment issues
    • buckler off center on inventory
    • spectral elixir is of center
    • mana/health potion alignment belt
    • warrior axe attack shifts position when attacking horizontal or northwards
    • messed up shadows, warrior light armor, sword, sword shield, northeast and southwest
    • shield-only gamma poor, holes in legs
  • fire arrows illuminating across walls
  • use melee attack when hitting barrels (watch out for shield blocking)
  • cannot pick items in diagonal when there is an obstacle, but can operate lever. Inconsistent
  • adjust aim on fire arrows
  • remove cost to check wirt after first time on same item
  • avoid showing "indestructible"
  • prevent guessing map position via automap (prevent scroll past undiscovered terrain)
  • chain lightning max sprites problem
  • staff animations rogue heavy armor
  • "i actually fixed warrior mid armor animation of standing with mace+shield. facing south-west. only flaw i found with warrior"
  • investigate bug with aiming and attacking different tile
  • update char screen on level up (vanilla bug)
  • unable to cast with exact same amount of mana
  • pause bug when reading lore books: go to menu using mouse, then exit. keeps playing audio
  • stun difference walking down (pushed away) vs up
  • add thousand separator xp
  • spell animation town
  • save cursor position on quick spell book then restore on selection
  • preserve cursor relative position on zoom
  • it's kinda dumb that zhar takes space in the monster pack selection
  • firewall cast overlay: hold to show, release to cast
  • pick items around character on button press
  • disallow highlighting monsters with heal other
  • save scum prevention
  • add help to panel
  • moving trees (animation)
  • rain in town
  • teleport range. increase with levels
  • hide tiles based on enemy visibility logic
  • gargoyle, max regen then stop. or, regen to less than max
  • remove bonuses on clvl up (including healing)
  • remove clvl exp calc
  • remove cth
  • shader-based 2d highlights
  • Allow flying monsters to walk over lava
  • repair leaves item with griswold
  • remove 100% hit recovery unseens
  • allow monsters to "destroy" doors instead of waiting to be killed
  • allow shooting through doors in caves
  • preserve mana shield on floor switch
  • allow configuring belt slot item type. prevent other types from going there automatically
  • craftsmanship and sturdiness overlap (fix ranges)
  • large battle/war bow use different flip/ground animation
  • frame delay not applying to last frame? (blocking delay 2, only first frame is delayed)
  • fast block should work for warrior (see frame check on doblock)
  • check and remove "natural damage" added to weapons: ex, -100% damage does not result in zero damage (unique war hammer)
  • decouple quest chances (butcher, garbhad, ogden)
  • prevent block on attack recovery
  • prevent drinking potion while walking
  • make potions heal over time
  • avoid enemies turning around on get hit (don't change direction on get hit)
  • mana shield hit recovery bug: damage < current life
  • lock items in inventory (hide from vendors)
  • add transparency automap close
  • make crows drop items
  • change attacking into target tile. maybe consider monster tile change only when half way past the distance to target tile. allow access to keep hitting target tile (implement weapon range)
  • change Archer ai to guess where player is and avoid passing right by the player
  • persist wirt items on save
  • chargers do more damage the bigger the charge distance
  • do not move monsters back to previous tile on stun (play animation in place, then keep walking)
  • boss scavenger spine eater level 4 broken (stays still)
  • reduce inventory size anvil of fury
  • allow monsters to break barrels (AI-dependent, like door opening)
  • check chance to hit formula inconsistency between ranged vs melee
  • walk diagonal slower (compensate distance)
  • change enemy path finding to randomized paths (avoid knowing exactly which tile they come from)
  • allow scavengers to heal over max, then scavenge before attacking
  • level up sound
  • change ai to stop bumping walls (zombie). select unblocked location to move
  • implement direction awareness
    • block chance higher if facing enemy, lower if off-angle, zero if attacked from back
    • monsters randomly change direction/roam, can only see forward (add native concept of "stealth")
    • damage dealt changes if backstabbing (for example)
    • player character can only see ahead. modify lighting accordingly
    • player "locks" into target, backstep walks backwards without turning around
  • stun/hit recovery/blocking animation duration should vary depending on hit strength
  • randomize town entrance order (for ex, one game may start from catacombs, go to cathedral, then caves). rebalance monster types accordingly
  • implement "armor range" (similar to damage ranges, armor should have min/max values. eg: rags should have high variability)
  • durability loss based on attack exchange: stronger hits deal more "durability damage" (rework durability)
    • equipment should "be less effective if damaged": encourage high durability. pristine equipment performs "more consistently" (picks higher value in damage/armor range more often?)
    • warrior repair permanently reduces maximum effectiveness based on the reduced max durability
  • blocking uses shield AC/damage reduction. shield AC is not used when not blocking
  • shield-dependent block percentage (similar to D2 but reworked)
  • rework armor class into "damage reduction"
  • rework resistances into "elemental damage reduction"
  • rework item identification: player should identify item affixes in isolation based on "magic" (or "knowledge") stat. more "magical" affixes require more magic to "see"
  • split damage types: "piercing" (arrows, dagger...), "blunt" (maces), "slash" (swords)
    • introduce base effect for each damage type: blunt->stun, slash->bleed, pierce->critical?
    • some weapons have combinations of multiple damage types (e.g. morning star has "a lot of blunt", "some slash" and "some pierce". great sword has only slash, maul has only blunt, etc)
    • monsters have specific weakenesses vs damage types: blunt and slash ok vs zombie, but slash bad vs skeleton
  • introduce "arrow" item type: multiple types of arrows. bow modifies damage. "blunt arrows" and "slash arrows" possible
  • item weight
    • dynamic attack speed based on weapon weight (strength)
    • dynamic character move speed based on armor weight (d2-like)
    • dynamic shield block speed based on shield weight?
  • introduce a stamina system
    • discourage attack spam
    • using heavier weapons with low strength reduces more stamina
    • spells consume stamina as well
    • moving restores stamina slower (d2-style)
    • vitality contributes to stamina? (probably)
    • blocking consumes stamina
    • consider "heavy and light attacks" that consume varying stamina and are faster/slower
  • hit checks vs moving targets (based on "percentage of presence on each tile")
  • introduce locked doors/stairs, keys and levers that need to be used (more light puzzle elements on some floors)
  • spells rework
    • firebolts evolve into fireball, lightning evolves into chain lightning (splash characteristic). player decides by "holding button longer"
    • mana shield rework: discourage "fire and forget" use, make it work more like bone armor from d2
    • introduce cold spells (use fire sprites with modified palette). slows/freezes enemies based on "accumulated damage" (i.e. stronger cold hits freeze faster/more)
    • phasing -> basic sorcerer skill for kiting. rework for shorter distances
    • introduce spell reach variation: lvl1 firebolt like Street Fighter Dan's fireball (very short range). discourage ultra long range, safe play for sorcerer
    • fire skills cause "burning" effect/DOT?
    • think of a mechanism for mana regeneration (should not be exploitable with "wasting time", so not a simple d2-style regen). maybe based on kills, or spell costs
    • some way to add magic attributes to weapons (kinda like d2 enchant, encourage some form of battle mage build)
    • rethink scrolls completely
    • staves should take less inventory space to be viable
    • telekinesis destroy barrels? stuns enemies?
  • introduce concept for "damaged units are less effective" (monsters and player). encourage hitting but not killing multiple enemies in some situations (useless in vanilla). play with it and also have the reverse in some situations: some monsters are stronger when damaged... like clans in vanilla with the secondary attack, have player discover and deal with it
  • ironman/rogue-like by default
    • rethink how town can be used (maybe once per tileset transition via shortcuts only?)
    • exit saves game. remove load game option (hardcore)
    • townportal rare, allows limited (one?) interaction with one vendor
    • potion spam should be discouraged. rethink potions
    • game should be longer (more floors per tileset? larger floors?)
    • no nightmare/hell difficulties
    • no "endgame"
    • implement some "gotta-go-fast" mechanic (food? constant damage? enemy respawn? TBD)
  • introduce multiple equipment sets. shortcuts swap between "sets", animation delays and uses space on inventory (can't be abused)
  • viability of "rescue mission"-style quests for some NPCs
  • "upgrade town" or "upgrade vendors" concepts: maybe with new resource found as loot drops
  • implement longer and more elaborate quests (vanilla quests are always "X will happen in the next dlvl")
  • remove unique items: reuse art for more base item variations/progression. promote "living of the land" and "items breaking/being replaced constantly" instead of "item permanence" and "best in slot" stuff
  • implement line of sight-based lighting
  • tailor/bias drops based on current attributes and/or class and/or current equipment?
  • reduce drops considerably: make them more relevant
@julealgon julealgon pinned this issue Jun 20, 2022
@AJenbo
Copy link

AJenbo commented Jun 24, 2022

Interesting :)

Edit:
From the change log:

Shortcuts to town will only be open if the hero has visited them at least once from inside the dungeon
Monsters will keep attacking the hero's body when you die

I belive this was already the case from Diablo 1.00 to DevilutionX 1.3.0?

@julealgon
Copy link
Owner Author

Interesting :)

:)

Edit: From the change log:

Shortcuts to town will only be open if the hero has visited them at least once from inside the dungeon
Monsters will keep attacking the hero's body when you die

I belive this was already the case from Diablo 1.00 to DevilutionX 1.3.0?

Both were behaviors controlled by the isHellfire flag.

@AJenbo
Copy link

AJenbo commented Jun 24, 2022

Ok, I guess the statement is in contrast to Hellfire then. I was reading things more in a "Diablo with some Hellfire additions" context.

@julealgon
Copy link
Owner Author

Ok, I guess the statement is in contrast to Hellfire then. I was reading things more in a "Diablo with some Hellfire additions" context.

Ah sure. Yeah the list is basically what has changed in relation to DevilutionX. In that context of Diablo and Hellfire modes, we are basically saying "this won't depend on Hellfire vs Diablo anymore and the unified behavior is X" for each specific behavior that was previously toggled.

I figured I'd document this early since I'm pretty sure people will end up asking at some point (even though I think most of these will end up being heavily impacted by other changes later).

@AJenbo
Copy link

AJenbo commented Jul 11, 2022

@julealgon did you see the PRs I opened? Should be able to reduce the code base by another 1000 lines together.

@julealgon
Copy link
Owner Author

@julealgon did you see the PRs I opened? Should be able to reduce the code base by another 1000 lines together.

To be honest I've been ignoring most refactoring PRs upstream at this point. If you want to explicitly mention them I could look into potentially integrating but otherwise I'll just plow through everything during the conversion (which I've already started).

@AJenbo
Copy link

AJenbo commented Jul 12, 2022

They are not upstream... #34 #33 #32 #31 #30 #29

@AJenbo
Copy link

AJenbo commented Jul 16, 2022

@julealgon yes, no, maybe?

@julealgon
Copy link
Owner Author

@julealgon yes, no, maybe?

Sorry I didn't get back to you, have not touched the fork in the past couple weeks. Will let you know next time I get back to it.

@odragora
Copy link

odragora commented Nov 4, 2023

The README reads as the dream coming true.
The exact design philosophy that would turn this game into a masterpiece, a better game than the most of even modern titles.
Sadly, the project appears abandoned.
Is there anything that could help you with turning it into reality?

@julealgon
Copy link
Owner Author

julealgon commented Nov 13, 2023

The README reads as the dream coming true. The exact design philosophy that would turn this game into a masterpiece, a better game than the most of even modern titles.

Glad you like some of the proposals @odragora 😊

Sadly, the project appears abandoned. Is there anything that could help you with turning it into reality?

Sorry about that. I wanted to get back to this but had some IRL issues recently that impacted my motivation a bit. I did some investigation on a few things but outside of this repo to test some ideas. I'll most likely go back to it by the end of the year, but I just can't promise any ETA on actual completion or even partial completion of the implementation.

Do note that I'm 100% active in terms of reading these notifications and catching up with DevilutionX though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants