Feralor is a project that I started in 2008 in my spare time. I had three motivations for starting the project: I wanted to learn to program in Java, I wanted to build a game that I could play in my web browser without any plug-ins, and I wanted to sharpen my developer skills. At the time, I was working mostly in PHP development writing a lot of business process software for a large institution, which certainly kept me busy, but did not give me a lot of options to develop fancy things. I wanted something more.

Back in those days, the notion of creating a massively multiplayer role playing game in a web browser without using any plug-in technologies was ambitious. Web sockets had not really gained traction yet, and HTML5 was still brand-spanking new. I went through a lot of iterations at first trying to figure out how to implement some of the most basic core components using just HTML, CSS and JavaScript. Initially I was trying to use a PHP back-end, until I realized that the Apache web server was not going to be able to handle the scale I was hoping to achieve. That's when I started looking into Java, because Tomcat supported web sockets out-of-the-box. I also liked the feel of Java, and the NetBeans IDE felt comfortable to me.

Slowly but surely, things started to come together. I learned about procedural terrain generation, A* path finding, artificial intelligence, and much, much more. I build a map browsing interface that worked a lot like Google Maps does. I developed a lot of basic game logic, as well as a number of helper functions that I needed (like user registration, password resets, and so on).

And then life started happening. I got distracted by other things: my responsibilities at work expanded, I got married, I got divorced, I got re-married, we had a kid, and we moved to Sweden. All of a sudden, this little idea of mine had existed for 12 years without much progress to show for it. Frankly, there's still not much progress to show for it. But I like spending time on it. I learn new things while working on it all the time. It challenges me.

Feralor is still written in Java, but that's about the only part of it that's still original. Everything else is different. The game runs on AWS, using dozens of AWS services. It uses serverless technologies instead of Tomcat. It uses NoSQL databases instead of SQL databases.

At the moment, you can't really play the game in a meaningful way, but I hope to fix that soon. I have committed myself to working on this project in a more organized fashion, and am trying to devote more time to it. But I hope folks will keep coming back to this web site and check in from time to time, as I do have some really good ideas in my head and I can't wait to show them all to you. And if you're interested in the technology behind Feralor, I'm planning on putting together a presentation that talks about the design, why I chose to implement things the way I did, and what lessons I've learned along the way. So stay tuned!