It’s frustrating. For about a week I tinker with Blender and UMA2 now. The first set of clothing for a male character took me 6 days. Much too often it took hours to find a simple command.
And this set contains only
- Simple shirt
- Simple trousers
- Simple shoes
At lease there is light at the end of the tunnel. I hope it’s not the headlight of the accommodating train.
The second set for the female character took one and a half day only.
It still doesn’t looks professional but I’m going to get a feeling for the process.
What Comes Next?
- leather armor
- steel armor
Before I switched from c# to Blender I implemented mining and got a generic gathering function.
At first I had the idea to use the existing spell (uMMORPG skill) system but it did not provide a function to calculate the work (cast) time based on tool, resource and player parameter.
Eventually I build an independent work system. I think standard fighting should be converted into this system as well. That way more skilled character could alter the attack speed or stamina can be consumed for a few fast attacks.
It was no longer avoidable. I have to deal with graphics.
After studying almost 100 different articles with various hints on character graphics, I chose Unity Multipurpose Avatar or UMA for short. That seems to me to be the most promising solution in the long term. Unfortunately, it is also time consuming to get a first result.
So far, I spent at least 4 full days of training videos and first attempts. I've been successful in the process at least once, albeit not in the right order. Now it goes to the first set of clothing for the man, simple and rugged shoes, pants and shirt.
Before I forget, there is a first video available on the Anega Role Play YouTube channel https://www.youtube.com/channel/UCWiTnaJPXgOlK8nXnq2H41Q.
You can see:
- Character creation using a predefined character setting
- Character selection and start playing
- Change equipment, throw equipment away and pick up
- GM creates money and warp to GM Island
- Find a NPC merchant and buy a pickaxe
- Go to a portal and see where you can travel to
- Find a vein with resource and mine some chunks of ore while learning
- Equip sword and shield
- Run into a bandit and kill her while learning
- Unload the collected ore into a depot
Create always GM character in test run
This make testing a lot easier.
- Code cleaning around the CanUse() functions
- Elements out of items where not always synchronized
- Selection problem; If an item was clicked outside the maximum selection distance, it was no longer selectable.
- Preventing a short jerk at the end of the loading screen.
What Comes Next?
First I’ll be away from Keyboard for about a week the first time for 11 month.
Then it’s time to create a first set of clothing including shoes, pants and shirts or male and female character. I need a set of primary armor and a set of weapons and shields as well.
Taking my graphic skill into consideration, it’s sufficient for 3-5 weeks of work.
Once I have that, I can adapt the game to UMA. It includes a number of topics and is another 2 week work package.
- Character creation
- Equipment handling
- Visible character
Did I forgot to mention animation ?
I started with the fighting system, but first I went shopping with my test character.
NPC’s can buy and sell items.
Tests are now much easier since my test chars can buy every needed item. A function to fill their bags with gold I have.
- Each NPC has a separate list of items to sell or buy. Each item can have a separate price level.
- A NPC buys an item for a fraction of the price he sold before.
- The prices of the items depend on the quality and durability of the item. A perfect item costs 10 times more than the same item of average quality.
- How often a NPC offers a character the best price depends on an ability. The current state lasts always 5:15 h.
- Filled bags and lit torches cannot be sold.
I find the idea captivating to create an NPC that sells the best weapons and armor in perfect quality, only at 20 times the normal prize. That would mean that a perfect sword that costs 10 gold at medium quality could be bought here for 2000 gold. This is an incentive for every craftsman to produce something like that and sell it cheaper.
I started the standard fighting system. It took me almost a week to understand the uMMORPG fighting and skill system and find a way to adapt it in a way that spells, magic and special attacks can be added later.
Long story short: The standard fighting is the use of mace, sword or dagger against enemies with dodge, parry and different armor.
I have to take into consideration:
- Skill and learned skill level related to action and item (8+).
- Attributes related to skill. I combined 4 attributes (strength, dexterity, agility, perception) in different relations to a pseudo attribute.
- Weapon mastery. There is a serious disadvantage using equipment above your skill. And a master can get a little bit more out of a noob weapon too.
- Skill difference in between attacker and defender.
- Luck. I found a way to create weapons which are good for a character with bad luck and other weapons which give lucky character an advantage.
- Rock, Paper, Scissors principle: Leather armor protects well against blunt weapons but is poor against stabbing while a mace damages the wearer of plate armor much more. There are many more dependencies.
- Dodge depends on the carried weight.
- A character can parry with weapon or shield. Parrying a heavy blow will stun the defender.
- A little bit randomization.
- Simplified calculation for monsters who cannot swap weapons or armor.
The fighting system contains a lot of minor extensions for other elements:
- Background pictures in the equipment panel show what to equip
- Current equipped weapon shown in the shortcut panel
- Replace the lightshow gallery on the WEB page by a working one. The former was not supported by the supplier anymore.
- Remove ‘remember last target’ when out of range once.
- Don’t display tooltip when element behind UI.
- Moving a bag around cannot confuse the content anymore.
What Comes Next?
Completion of the fighting system:
- Testing / Bug fixing
- Tools to manage parameter of large amount of weapon and armor
- First balancing
Killing or being killed is much less fun, if you cannot see the character and NPC acting. Until now I could do everything with the limited basic graphics from uMMORPG. But now I need another more flexible and adaptable graphic. So the current graphic representations of the game look really strange.
Eventually I was searching for about half the two week period for way to solve the issue.
It's pretty sure that I need more Blender knowledge, so I've gotten more involved with the gaphic designer.
Tweaking and testing, the standard fighting system is in place eventually.
If a character fights, a spell is used. The item defines the behavior of the used spell. We don’t need a separate spell for each piece of equipment. The object quality influences the damage of a weapon, parry effect of a parry item and protection of an armor.
Additionally a number of minor issues have been fixed.
The eventually realized function has some great and some less great effects.
It's nice to be able to implement the collection of resources like mining or making armor in the same way now.
It’s not so great I have to invest into graphics since the given uMMORPG graphics is hardly sufficient.
Item and NPC Mass Editor
Basic parameter for items and fightable NPC assets can be exported into and imported from a csv file. That way optimization is much easier.
A number of extensions went along with the optimization of the fighting system
The amount of damage is shown in a shower of shed blood. The amount of drops depends on the damage and your own blood color differs from the color of all other character or NPC. I could hardly resist coloring the player’s blood blue.
Item Tooltip extension
The weapons and armor parameters appear in the tooltip. Of course you see not numbers but a textual description.
In the first few frames of the game a number of strange effects can be seen. Overlay names changing from default to selected, the ambient light flickers until the sun is positioned, a dead loaded character dies and many more. It simply takes some frames until all condition settled. A loading screen overlay the critical period.
- Close sub container when leaving a container depot.
- Equip items to the right position on use in the inventory and avoid disappearance.
- Swirly effect removed from game after end.
- NPC trading issues with extended item names.
- Take single item from a stack into hand in one step.
Some pictures I have as well:
What Comes Next?
Before I fully turn to graphic maybe I add mining. But then I cannot avoid creating character graphic and animation, a task that may take about 4 weeks at least for the first results.
It was the first time I had the feeling, the speed of development meets my personal expectation. Maybe I’m more and more familiar with Unity and Blender now.
Clean Up Code
There were some code elements from the basic uMMORPG that had to rework. It seems almost every scrpt has been touched.
- ItemMall removed
- AddOn system removed
- Skill to spell renamed
Money as items
Money is represented by coins (copper, silver, gold). The coins are items as well.
You cannot pay, if you do not have the necessary amount of coins with you.
Coins stored in any depot cannot be taken away, lost etc.
Removing coins from available inventory was a little bit tricky since I had to take into consideration change and multiple stacks of one coin. In total adding and removing coins are about 500 lines of code.
The basics of the skill system are implemented.
There are a number of different skills. The first 7 have been defined yet.
Each skill can be in a range 0-100.
Skills can be learned by a dedicated activity only. E.g. using a sword the character will learn swordplay. There are no skillpoints to distribute.
Player with more role play time learns faster than players who grind extensively. At the end player with the same active play time learn the same amount.
Limitations avoid Masters of all Trades (all skills at 100) while Jacks of all Trades (all skills at 70) are possible.
GM’s can see and change skills, player have a raw estimation of the skill level and can ‘forget’ unwanted skills.
A player can select some start skills for a new created character.
For the skill up I created my fist spell effect using the particle system, a swirly.
- GM can create portable items and money
- Pick all items around you
- Make help window larger
- Make remaining usable elements to items (portals)
- More stable name and health overlay, stable GM invisibility
- GM’s look into the correct forward direction after a warp
Some pictures I have as well:
What Comes Next?
I'm not sure yet. I can choose from NPC trading, the combat system or resource gathering. Let's see what I end up doing first.