Sunday, August 31, 2014

Various bugfixes

  • Vampiric spells no longer freeze the client
  • Characters which somehow manage to get stuck in walls on mapchange or login will get moved to a nearby open position
  • Multi-hit spells now retain their multi-hit property on logout
  • Tailored items now have icons

Friday, August 29, 2014

New Websocket implementation

My server is online with a new websocket implementation by java-websocket by TooTallNate. I hope that this will work better for all the people which could not connect. Please try again and comment to tell me about your experience.

Replacing my WS implementation was surprisingly painless. I ran into some problems with my duplicate login prevention, but worked them out eventually. I had to sacrifice my stack for pure TCP sockets, but considering that I haven't regression-tested that code in ages, that's maybe for the better.

On an unrelated note: It's true. You can't put a server online without having it attacked immediately. I already have some IPs from China and Russia trying to brute-force my SSH root password. Good luck with that. It's randomly-generated and far too long to brute-force, especially over the net.

Thursday, August 28, 2014

Some problems fixed... or not.

Some people commented on my last post that they have problems logging in. Thank you very much for that. I now changed the server to:

1. terminate the old connection instead of the new one when the same account logs in twice
2. terminate connections when they don't responds to pings in a while

However, I am quite sure that this only fixed the symptom, not the actual problem, which seems to be a bug in my websocket implementation. I am thinking about trashing that hacky thing and replace it with a tried and true implementation  like this.

Onliner for a day

My server is now online for a day and I already have three account registrations. Considering that I didn't actually do anything to promote it yet except for writing on this blog, these are three more people than expected. It would be even more motivating, though, when they would have actually done anything, but looking at their saves in the database it seems like they didn't even move from the starting point. I wonder if they encountered some problem or just didn't felt like playing.

Another topic: I am currently building a website on wizardmmo.com using Wordpress as a content management system. When it's finished I will start to think about how to spread the word about my game.

Tuesday, August 26, 2014

It's online!

I rented a small virtual machine, installed my server on it and uploaded my javascript client. Except for some small initial issues it now runs great. At least as long as I am the only one who is playing.

It is now available at wizardmmo.com. But before I start to promote it, I need to take care of some things from my todo list.

Sunday, August 24, 2014

My game is now called WizardMMO

I finally decided on a name: Until I come up with something better, it will be called WizardMMO. I already registered the domain wizardmmo.com and will soon build a website. Yes, the name is very generic, but this is what my game is about. It's a MMO where you play only wizards. Much easier to remember than some word-salad title or made-up fantasy name.

My original working title used to be Wizardwar, but Paradox Interactive beat me to that by a few months.

Walk animation, cast animation and ice particle effect


I did some long-needed pixel artwork. A walk animation for the player-character, a casting pose and the missing particle effect for cold attacks.

Saturday, August 16, 2014

ToDo List

I haven't made a proper roadmap in ages. So this is not really a roadmap but rather an unordered but prioritized todo list.

Must Have
Should Have
Nice to have
Not sure if worth doing

  •  Netcode
    • Zipped messages
    • Client-sided prediction
  • Security
    • Password reset
    • Brute force prevention
    • Websocket over TLS
  • Character customization
    • Genders
    • Portrait engine
  • Graphic engine
    • Dynamic recoloring of graphics
    • Particle effect for cold spells
  • Animations
    • Create walk animation for player character
    • Cast animation (code and graphics)
    • Dead animation (code and graphics)
  • Equipment
    • Staffs  & staff crafting
  • Mining
    • Prospect spell
    • Sense spell
  • Spells
    • Auto-generation of spells with target areas
  • Route Finding
    • Upgrade from Dijkstra to A*
    • Allow multiple layers
    • Allow tiles with complex walkability-shape
    • Flee algorithm 
  • Content
    • One more soft material
  •  Website
    • Host for gameserver
    • Static content 
    • Forum
    • Bugtracker
    • Wiki
    • All of that accessible with the ingame account
  • Marketing
    • Come up with a name already!  
    • Get a domain name