|
Update: There's a Roadmap to the Next Release post on the forums that I'll be posting updates to occasionally.
So, I've been talking a lot about the "next release" on the forums and in private conversations for a while now. There are lots and lots of new features already finished, and a number of tricky new features that are not as close to completion as I'd like. A few of those features I think will be easier to implement down the road, so I'm going to push them to a future "next release".
Anyway, given the longer than usual delay between releases, I figured I'd lay out the roadmap for Vying Games. I don't really track the server with version numbers, but I'll give it some simple version numbers for the purpose of this post.
Version 0.9.0
This update has broad and sweeping changes, but will fall just short of what I've envisioned as a feature complete 1.0. In brief:
- Redesign of the messaging / invite system. 99% done.
- Finishing the tourney system. 99% done.
- Finishing the archive section, complete with search. 100% done.
- Browse / search series. 100% done.
- Redesign + additions to the user profile / prefs. 90% done.
- Forum bug fixes + new features (preview / search). 90% done.
- Better blog integration. 100% done.
- Built in wiki. 70% done.
- Group chat. 0% done.
- Paid memberships (plus member only features). 20% done.
- Minor changes to the rating system. 80% done.
- Anonymous accounts. 90% done.
- Move the bots to a separate server. 0% done.
A small note on paid memberships. Every feature on the server now and most new features will be available for free. Users with paid memberships will have access to non-core features, but the site should be perfectly usable / enjoyable on a free account.
Moving the bots to another server is the critical feature needed for this release. When Cephalopod was released the server was overwhelmed by people playing the bots. I haven't been heavily promoting the site lately because I want to fix that scaling issue first. Other features could be pushed to a later release without harm.
Between Version 0.9.0 and 1.0.0
There are a number of new games pending release. I plan on releasing one game every week or every two weeks starting the week after the release of version 0.9.0.
Version 0.9.5
Version 1.0.0
- Realtime optimizations / structural changes. 0% done.
- Remote API (for bots, other apps) 20% done.
The big thing here is that I'm punting on some of the realtime optimizations I have planned. I'm feeling stuck on this, at the moment. Vying Games uses Rails / ActiveRecord and I'm somewhat frustrated with both. This is not to say that Rails / ActiveRecord are not great, simply that I'm having a hard time getting them to work the way I want for Vying Games. In many ways Vying Games is not at all a typical Rails app. Rails is very good for rails-esque apps, but I'm spending too much time fighting with it lately.
Having recently reviewed DataMapper (an ORM like ActiveRecord), I'm excited to see that they've made design decisions that match up much better to what I want to do. This means I will likely try to port Vying Games to Merb / DataMapper when I start on the optimizations / structural changes.
While playing around with DataMapper recently, I got the impression that it's progressing rapidly, but not quite ready for use, yet. I'm hopeful it'll be production ready sometime this summer.
It should be noted that while Merb and Rails are quite different in philosophy, they're similar enough that most of the code will require only minor changes. UI development can and will continue in Rails during the process of porting. So features listed after this release could actually be moved up ahead of it. The Remote API might also be finished before the rest of this release.
Version 1.1.0
- Internationalization / Localization. 0% done.
- Tutorial system. 0% done.
- Self-play system. 0% done.
- Game analysis system. 0% done.
Several players have been generous enough to offer to translate parts of the UI. My plan for now is to build in gettext like support and let users contribute translations. I have no experience in this area, and I don't expect it to be anything less that complicated and difficult.
The tutorial system would allow players to create interactive tutorials for games. I don't have a concrete design for this, yet, but I think it'd help the adoption / promotion of games.
The self-play system would basically allow a user to play around with a game without an opponent.
The game analysis system would be akin to the tutorial system. Anyone could take any game and add analysis / discussion to any of the positions.
Some of these features might move up to an early release, though I don't think that's particularly likely. These aren't particularly high priority.
That's it...
So that's my current roadmap for Vying Games. As far as release dates are concerned. I'm going to put a goal of June 20th to June 22nd on the release of version 0.9.0. We'll shoot for minor releases every week or two from that point, and I'll post updates on the other milestones as we go.
|
Ralke says,