Sunday, January 31, 2016

Heart Realm Update #013

As mentioned in my last blog post I have returned to Heart Realm, I'll be moving the game over to Unity, away from Java and all that. Along with that change I'll be making some changes to some systems, some of which were never really set in stone.

The reason for the change to Unity is partially due to my desire to work on the game more than the engine and the game, something I was doing when writing everything in Java. I've been using Unity now for the past 5 years now, working with it on and off on various smaller projects and so I feel comfortable enough with where it's at for me to work on this type of game using it.



I've also thought that by changing to Unity I could potentially add a network portion to the game, maybe have some kind of co-op, but that's all dependent on where the design of the game goes. There's really a bunch of little reasons as for why the change, but ultimately it's because I just want to focus on making a game rather than an engine and the game in a language that isn't the best for games, i.e. Java.

On the design side of things there's a few changes that I'm currently hashing out. In the current system the player's attributes would start off at 10 each: Vitality, Strength, Dexterity, Agility, Wisdom, and Intellect, you would get 3 attribute points every level to distribute however you please among these stats that then affect a variety of things. The problem with this design is that the player's power level keeps growing infinitely, potentially, while the enemies power levels do not, they may a little, but not like the player. To get away from that I've decided to take a similar approach to what Dungeons and Dragons 5th edition does (probably occurs in previous versions as well) and to put in a cap for the player's attributes. I've decided that a soft cap of 25 should be fine, with a soft cap of 35 or 40 for NPCs (enemies and such). There will be ways to increase beyond that cap with the help of skills, equipment, and temporary buffs, but the player will not be able to increase it through normal leveling up. Making this kind of change also means I'll have to rework how each point in an attribute affects everything.

Along with the change to stats having more impact on the player, I want the equipment to have more impact on the player's move speed and attack speed. Equipment weight will affect move speed greatly, and a little bit on attack speed. Weapon weight will affect attack speed as well, though the weapon's attack speed will probably just remain it's own stat on the weapon itself rather than having the weight of the weapon affect it too. The weight of all your items and equipment will also limit the player's movement with the inventory limiting what you can carry based on weight, so no bottomless bag. With this addition there will most certainly be some sort of storage system in place so you can drop off your unused items to come back to at a later date.

Before I had abilities on scripts, well now I'd also like to have weapons have their own scripts as well, basically giving each weapon multiple attacks. For example, with a long sword I can have a slash dealing entirely slashing damage for a primary attack, and a thrust dealing entirely piercing damage for a secondary attack. Each of these attacks would be bound to different buttons, e.g. left click - primary attack, right click - secondary attack. By having multiple attacks for each weapon I can do something interesting like have a primary attack be a thrust with a spear, and maybe a ranged throw for that spear's secondary, or maybe a swipe that does strike damage and applying a speed debuff to the target. Basically primary/secondary attacks would be like abilities but are inherent to the particular weapon and are based entirely on the stats of the weapon and player using them.

Another change I'd like to make is to the items giving them multiple levels of information displayed for their descriptions. What information is shown on an item could be based on the player's Intellect stat. You could learn more about the item in question, more about the world or potentially prevent yourself from equipping an item that's cursed (something I'd like to add as well, cursed items). I could hide some stats from the player if their Intellect isn't high enough so they'd have to use the item or equip it in order to see the effect of it.

All these changes listed above are ones I'm definitely making, but there's another that I'd like to add provided it works with the current design, though I think at the moment it'll work with everything else since there's no system in place preventing it, and that is a weapon/armor/magic skill system similar to that of the Elder Scrolls where as you use a certain class of weapon, armor, or magic you become more proficient in them. With this sort of system I could include a tree of abilities and spells for those skills, like the perk trees in the Elder Scrolls except more active abilities/spells. Right now I don't have any system in mind for how the player would acquire spells or abilities anyway so something like this would work. Of course I can also have spells and abilities be purchasable or learned from "spell books", which would work great with the previous change. A spell book that teaches the player a spell provided their Intellect is high enough to learn it, or maybe you can learn it but you won't know what you're learning based on the description because your Intellect isn't high enough.

There's all sorts of things I can do with these changes and I'm excited to get them implemented and working. Of course with the change to Unity I'll have to get all the old stuff implemented first. For now that's enough of update. I'll be back for sure with more updates in the near future. I don't want to go 2 years again without updates.

~ RogueTemplar

No comments:

Post a Comment