Sunday, April 1, 2012

April Serious

Since my last post, I've hooked up my terminal component to some networking code and actually connected it to TWGS. It looks great and seems to be quite fast. I'm going to eventually release the source of the terminal system separately from Weapon M. Since 1999, JavaSSH has been the de-facto standard open source Java terminal, but mine is dramatically superior in its performance, thread safety, and clean object-oriented design. Plus, I'm going to release it under the Apache 2 license instead of the GPL.

In the past few months, I've written many small test programs to experiment with Weapon M's subsystems, like the terminal and the database. But now I'm actually putting them together into a single application. That's a project in itself. For example, I'm currently pondering, in my obsessively perfectionist way, the best method of notifying all the different components of events like loading a database or establishing a network connection. But once I get this basic framework set up, the other components will start falling into place quickly. The data capture, graphical map, and script system are each going to take a significant amount of time, but it will be exciting work.

As my design evolves, it's interesting how it begins to superficially resemble Kokua. Kokua is the open-source helper that opened my eyes to the power of lexers and inspired my vision of how Weapon M would work. It even had some innovative features that I came up with independently, or perhaps subconsciously noted, like sector number linking in the terminal. It's a shame that Kokua didn't evolve further, but I think it was crippled by the difficulties of working with JFlex and JavaSSH.

No comments:

Post a Comment