Update 9/25/2015

One major issue I have been dealing with in using Unity3d is Linux support. I am running Linux, so I have had to run unity though wine. The issue with that is it limits me to 32bit. Recently Unity released a native Linux solution. For the past week, I have been working on getting that to work. There are a lot of issues and crashes at the moment, so I will still be doing the majority of the work on MageDuels in 32bit wine version, and playing around with the native Linux version on the side. When it is stable, I will make the switch.

I had an interesting conversation on twitter yesterday. I have been looking for UO PvP veterans to help give me some feedback on how the game should “feel”. I wasn’t expecting the response “That sounds really, really weird…”

I have been sort of developing this in a bubble, essentially. Is the concept really that weird? He made some good points, but I stand behind the concept being more about competition than full loot. However, this made me think quite a bit of how to increase the risk vs reward in the champ spawn game mode.

Update 9/16/2015

I know it has been a while since I have posted, but I have been busy.

A big part of the spell casting redesign was an issue with Unity3d’s matchmaking system. There is a limit to how much bandwidth that can be used, and I was hitting that limit due to the nature of the spell prefabs I was using. Now instead of a prefab for each spell there is a prefab for each spell type and the effects get assigned when the spell is cast. This brings the amount of data that needs to be sent to the server/clients down by a lot.

The second part of the redesign is a scripting system. I have been looking into several ways of doing this, but I haven’t committed a lot of actual code yet. There is quite a bit to consider with this, and I want to get it right.

Lastly I have also been looking into some AI for the champion servers. These will be large battle fields with a boss creature. When these events run, the groups that take down the champion will receive weighted loot drops. As of right now all items are cosmetic for either your player or your house.

The menu for the game is going to be a small mini game that allows you to go to a market, use a magical portal to join servers, has a house for you to decorate and display any awards you may have earned, and use a chest in your house to customize your mage.

Spellcast System Redesign

Right now the spell casting system works as such: A script waits for a key to be pressed. When one is, it loops through the spells for a spell with a matching assigned key.  If a match is found, it begins waiting for the cast delay before turning on the targeting system. It works great. But it is wrong.

I am working on a new system that will allow you to assign a sequence of tasks to a key.

  1. Cast regenerate
  2. Wait for spell ready
  3. Target self

I Broke Everything: Update 9/8/2015

Change log:

  • I broke everything

So… It turns out there is some sort of bandwidth limit on unity’s matchmaker service. Apparently I was hitting that limit and causing issues with people connecting while testing. So for right now I am rebuilding the spell system to hopefully quell a big portion of the bandwidth that was being used. This is a blessing in disguise because it gives me an opportunity to look over some of the code I wrote and maybe do it in a better way.

Due to the holiday weekend (and it also being my birthday) I didn’t get around to doing a ton of the work I wanted. But I have a plan of attack for this week, and I should have it all back up and running by the weekend.

Currently working on:

  • Rebuilding everything
  • Refactoring the spell system to not be a bandwidth hog.

Update 9/4/2015

Change log:

  • Buff/Debuff Stat spells
  • Poison/Cure spells
  • Bug fixes
  • Refactoring

I wanted to say thank you to everyone reading this blog. I really appreciate seeing some interest in this project. I really hope I can open up some form of lines of communication with people that may be interested. I really don’t want to develop this in a vacuum. So please feel free to message me here or on twitter @magedules or @utilitron.


Currently working on:

  • Player intro (“interactive” menu)
  • Game mode concepts
  • Particle effect revamps
  • Bug fixes
  • Refactoring
  • Listing current matches

Play modes…

I have been thinking a bit about play modes and how all of this will fit into the game. Right now there is match mode and server mode.

Server mode is for casual play. You can join a server and walk around, chat, and duel. It will be a good place to sit when waiting for matches. Servers will be community run.

Match mode is where the action is at. Either create a match or find one already waiting. You are placed into a small area map where you duel until death. Matches can be 1v1 or team v team.

I have been kicking around the idea of a champ-spawn type mode. I haven’t worked out all the kinks, but what I am thinking is you pay some sort of fee (in game gold or something) and your guild opens a champ spawn server. When the champ is slain, you get a reward. Clothing skins or something of the like. Similar to how CS:GO weapon cases work. Other guilds would have the option to challenge your champ spawn by paying a fee to join.  Something of that nature.

Update 9/1/2015


Change log:

  • Show joining player hp stats.
  • Bug fixes
  • Refactoring

I had a lot of fun play testing over the weekend. I think I played more then I actually worked on the game!

I was able to jot down a few concerns and issues my self or some of the other players had. I have been going through those issues and addressing them as I can. The big one was an issue with projectile spells hitting yourself. This hopefully has been fixed.

I also did a bunch of code refactoring. I fixed several spots to make the code cleaner, and hopefully more reusable.

I also played around with blender a bit. I am not a very good artists so I wasn’t able to make huge changes to the graphics yet. I do have an artist helping out, but I may need additional help.

Currently working on:

  • Disconnect/Stop Match
  • Player intro (“interactive” menu)