Kaya: the future of Tagua

13 views
Skip to first unread message

Paolo Capriotti

unread,
Jun 29, 2009, 8:16:08 PM6/29/09
to Tagua Development
Hi everyone,
a long time has passed since my last post in this list, but not much
has happened as far as Tagua development is concerned. Actually, as
you probably know, the website went down since the domain expired, and
no one of us developers cared enough to remedy. Sadly, the project
grinded to a halt.

There are many reasons for this, some of which personal, but I feel
the most important fact is that developing Tagua had become such a
painful experience of delving into multiple layers of complicated
code, that it simply wasn't fun any more.

One question that I considered a lot lately is whether this
unmanageable complexity stems from over-engineering mistakes on my
part, or rather is a fault of the language we used. I tend to think
that, although certainly the code wasn't perfect, its unwieldiness is
pretty much a direct result of our principle of making Tagua general
enough to be able to support several rather different board games,
while remaining inside the constraints of a programming language which
seems to make this objective as hard to achieve as possible.

With this idea in mind, but no expectations, I started an experiment:
a rewrite of Tagua in ruby. Rewriting from scratch is usually
considered a Bad Thing (and rightfully so), but I had my motives, and
well... the project was basically dead, so it couldn't hurt, anyway.

The experiment turned out to work extremely well, so Kaya was born.

Today I made the first release of Kaya. I think its feature set is
quite good, considering the little time I have invested in it.
Although it is still missing a couple of the nice things that made
Tagua so awesome, I feel it already surpasses its predecessor in some
regards.

What is more important, the code is several orders of magnitude easier
to understand, and fun to work with. Concretely speaking, 7500 lines
of ruby are now implementing what I can conservatively estimate as 85%
of the functionality of Tagua, which was about 35000 lines of C++ plus
2500 lines of lua for themes. You can do the math if you want, but the
drastic simplification is apparent.

Thus, I'm most optimistic about the new direction this project has
taken.

I hope I might have piqued your interest in Kaya. You can find more
info at its website: http://pcapriotti.github.com/kaya.

Since Kaya has its own mailing list at http://groups.google.com/group/kaya-devel,
I'll be inviting all the members of this mailing list to the new one,
and stop posting here.

Thanks for reading this far. I appreciate :)

Paolo Capriotti
Reply all
Reply to author
Forward
0 new messages