Wednesday, 20 July 2011

Alot has happened

It has been a long time since I have posted to this blog, and obviously a lot has happened since then. My previous project, Flow Forum, has long since been abandoned. After getting stuck into web game development shortly after abandoning the project I can't say that I really have any regrets about the decision. The new project, Xanthus Quest, has since been launched (albeit a little prematurely) and is going strong, with great player feedback to date.

Xanthus Quest

Xanthus Quest was originally planned to be a simple game that would be familiar to players of MarcoLand and Crimson Moon, however once I added the ability to explore wilderness and dynamically change page content without having to reload the page via ajax the game took a very different turn. PvPing has taken a backseat to exploring areas and performing quests.
Players have loved these quests and have told us that they want more of them, and so that is what we are doing. This has created problems however as these quests were supposed to be a rarity and not the main feature of the game, as such the games code was not structured very well for these quests and exploring. This has meant that I was constantly hacking together new areas and quests for players, making the code very cluttered, messy and hard to maintain. I realised once the Wastelands handler blew out to more than 5000 lines of code that this was not maintainable, so I have decided that I need to take a step back from adding these features and add in some proper structure to make maintenance and expansion easier moving forward.

Admin Section

With the realisation that we have more people willing to and able to contribute to storyline, images etc. than coders I decided to take this rewrite opportunity to move the bulk of the quest, and encounter information to the database rather than code. This will free me up alot more to work on new features which will be very important if I am to remain the sole programmer for Xanthus Quest and add new features to the game beyond quests and encounters. Work on this new dynamic encounter system has been going for a number of weeks now and we now have some encounters being driven entirely by the database that would have taken me weeks to program with the old system, which is great news.
The next step in the dynamic encounters system is the ability for admin's to create quests and provide status information for every status in the quest. Work on this has been good and should be complete this week. One less thing for me to have to handle in the code, which means one step closer to fixed forums etc.

What is Next

Once the quests system is done, the next step will be NPC dialogue that is quest, quest status and player inventory aware. This will probably require a week to build, after which I am sure that there will be more features for me to add to the dynamic encounter, monster, inventory and quest systems to give Bleak and Hyalix more options for creating new quests for all of you guys to play with.

I will be focussing on Xanthus Quest development with this blog in the future and will check back for any feedback or comments you leave in the comments below.

Thursday, 3 December 2009

Very early release is online

A very early version of the forum is now online and available at http://flow-forum-test.appspot.com/. There is very little styling and it is still missing many of the planned features. However if you are curious and want to see what progress has been made to date head on over and check it out.

Sunday, 29 November 2009

Preparing for collaboration

I managed to completely screw up the tags system for the forum when I played around with the preview 1.2.8 version of the app engine sdk. I wanted to test how the multiple tag association and searching would work with the "IN" keyword, it looks neat and tidy from a code stand point but is very inefficient with the writes. If I cache heavily enough than we should get away with it however. I have finally figured out what I broke though when I reverted back to a non multiple tag version of the forum, so the forum is usable again.
I have decided to use Google Wave as the main source of communication and collaboration for the project. I will be working on writing up some guides to make it easy for people to jump in and help with the forum development when I am not busy coding the forum. I want to make the forum look a little more like the designs, then I will upload the forum to the app engine servers for people to play with. It will be very far from complete though, so you should only check it out if you are curious to see what has done as it won't give you any indication of what the finaly product will look like. Expect that to happen soon.
I found a very nice site that provides free svn and git hosting that I am using for the flow forum source control. If you have a need for such a thing for your own project you should check out unfuddle, there site is very slick and has performed flawlessly for me so far.

Saturday, 21 November 2009

Play time is fun time

Coding the forum has been full of challenges so far. Coming from a RDMS background, working the googles bigtable datastore has been a fun challenge to tackle. I get the feeling that I will be making a number of big changes to the datastore models when I see the forum under load.
The good news however is that the Play! framework has been as good as I could have hoped for so far. It cuts down on enough syntax for me to not feel bogged down by using Java which I was beginning to think would never happen. Though I have yet to actually test any code yet, I just can't be bothered doing any dummy html until I have all of the backend stuff written up for adding and viewing posts and discussions.
I have a habit of over-estimating my abilities and falling short of any deadlines I set for myself, so it should come as no shock that I don't actually have anything for you guys to view yet. I have talked with a couple of guys who previously showed interest in working on the forum with me in the past, and they both said they are still interested. This is great news as they are both very talented and will speed up development greatly once they are brought on board. Can't wait.
All in all things are still looking bright for the forum.

Tuesday, 17 November 2009

Play Framework

Last week I finally found the java web framework that I have been looking for. It is called the Play! framework. Check out the video at http://www.playframework.org/ to see why I like it so much. This framework is quite similar to the Ruby on Rails framework that I love so much and will allow me to develop much faster than I could in any other framework I have come across which I find to be very important.
Now that I have this framework I have decided to put the cms development on hold as I no longer need it for the forum as I can achieve everything I need using the play framework. This means that development of the forum itself is starting this week and I will be able to give you all a working prototype pretty quickly.
I am hoping to have completed the forum enough for discussion creation and listing at a minimum by the end of the week and hope to have a teaser uploaded by the end of the week. I plan on releasing new previews once a week (probably Fridays) so that you can see where the forum is headed and provide feedback while I work on the forum.
Let me know what you think about the play framework. I especially look forward to no longer having to do the usual development process of compile, stop server, start server, reload page.

Sunday, 1 November 2009

Why do Java developpers neglect error messages?

It feels like everytime I use Java for this project I am left wondering one thing, what is with the error messages? Today I had a problem with the query I was sending to the datastore and the only error message I received was a null pointer error message at the line the query was being executed. The query itself was written in a previous line of code and I had no way of knowing whether the error message was due to assigning the object to a List, lack of data being returned or any number of potential problems.
AppEngine is currently at version 1.2.6 so I would expect more care given to error messages by now. Even worse though is that I am using the mature JDO framework that Google have modified to work with AppEngine. Surely after all this time they would have decent error messages being returned. These type of things really annoy me, because they waste hours of my time that could be better spent working on my project. By the time that I figure out the cause of the error I am too angry to continue on with the coding.
Surely if you are going to take the time to write a framework for others to use, especially if this is for use on your own servers for your customers to use, you would want to make the development experience as straight forward and annoyance free as possible. I am really starting to understand why Java has such a bad rap.

Friday, 30 October 2009

CMS name suggestions

As I have said previously, I am currently creating a CMS, however as of yet I have no name for the CMS. I am looking for suggestions for the name of the new CMS. All suggestions welcome.