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.

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

Tuesday, July 29, 2014

Mining System implemented

I implemented the mining system. I also made the first mining map, an NPC which sells the mining spells, and two Foni's, one giving mining hints and one telling a bit more about herself. I am not that happy with the iron ore item sprite, though. It looks like shit. No, it literally does. Just look at it:


But otherwise, I am quite happy with this feature. It works just like I designed it. Sensing and prospecting isn't implemented yet, but probing and mining works just as intended and I think hunting for ore is really fun... at least compared to the "click on ore, watch progress bar" resource gathering systems of most MMORPGs. Now I just need something which can actually be done with the ore. Currently it's just vendor trash, and not even a particularly lucrative kind.






Saturday, July 26, 2014

Wenibe and Angel quest finished

I reworked Wenibe and finished the angel quest. I actually did two weeks ago. I need to take this blogging thing more serious again.

Monday, June 30, 2014

AoE overhaul

I spent the whole Sunday with overhauling the code for AoE attacks. It is now much more extensible for different attack patterns than just points and circles. I also implemented attacks which target a ground location instead of a specific opponent, which works both for mobs and for players.

However, the procedural spell generation system doesn't create any spells with that feature yet. Both kinds of AoE attacks are now visualized by the client during their preparation-time, so players can dodge attacks more intuitively.