November 2, 2012

Two Week Cycle

I have to say, a one week release cycle is great when I don't have much going on. However, as things have been rather hectic and I'll be focusing on another major project soon Paint Party, I want to reduce the pressure on myself and switch to a two week cycle.

This week has had virtually no work on Combatics Evolution. Partly because I was exhausted from last week, partly because I am currently exhausted from this week, and I wanted to take a small break and play some Dishonored. Between midterms, exams and labs there simply isn't enough time to fit in any development during the last week. I'm still looking towards getting the combat ready for multiplayer as that will be one of the biggest features. Once I have it in a working state I will then be able to focus my attention more on performance and content. I have come across a few little tools I'd like to utilize for this project so I guess not all of my time has been wasted:

JCommander

For the server-side console I want to get JCommander to parse and process commands. The tool is designed to simply parse program command arguments, but the design of the library allows it to very easily be used for processing console input.

Sqlite4java

While Sqlite4java it isn't a pure-java solution it does support android, which makes it a great candidate for working with SQLite. I am planning on using SQLite as my datastore for profiles, as the current solution is really just a temporary way to get it working.

Apache Pivot

Typically I avoid using Apache for Java because of how they like to use various parts of their other libraries. While code-reuse is great, I don't like it when it comes to libraries because using different ones typically means I need to adopt large parts of the ecosystem for the dependencies. Some I can trim out with proguard, but when you have dependencies and the libraries have dependencies things get rather ugly with proguard very quickly. Anyways, Apache Pivot seems to offer a very handy set of features for building UI, I may consider this for a server admin UI in the future. I don't want to use Swing, AWT, or SWT so my options basically get very limited with Java.

Other JVM Languages

Clojure I don't really like, and I would much rather use the Python over it. In the years to come my opinion may change, but for now I won't touch it. It does work with android, minus a few quirks so if time permits I may dig into it some more. It does have a CLR and a Javascript version which would also be handy in other projects. It just hurts me a little bit when looking at the syntax and style. :(

Groovy is pretty cool, because it really focuses on adding very powerful constructs to Java. Groovy offers a clean syntax and really embraces the idea of being more of an extension to Java than a replacement. However, I'm not yet convinced about it since support on Android isn't good enough. 

Scala is awesome, and I would use it for my project if the Scala IDE plugin for eclipse is showing a ton of promise. However, until I get better integration with Eclipse I have no incentive to use it. I just feel naked coding in Scala without robust tool support... It works well with android, it is a little messy mixing it with Java code, but still workable. If anything, I would consider Scala in the near future as my main programming language since it offers a ton of high-level features and the complexity of the language is the only real hurdle. It does have a CLR version, which makes it highly attractive.

No comments :

Post a Comment